小编Tyl*_*ick的帖子

如何在一行上定义 vim 函数?

由于|用于分隔命令,我想我可以这样做:

:function! SomeFunc() | return 0 | endfunction
Run Code Online (Sandbox Code Playgroud)

当我在单独的行上输入它时它工作正常(输入第一行会导致它提示输入剩余的行):

:function! SomeFunc()
  return 0
endfunction
Run Code Online (Sandbox Code Playgroud)

我现在看到这个警告:help :bar

这些命令看到“|” 作为它们的参数,因此不能跟另一个 Vim 命令:

:功能

有什么办法吗?

我看到哪里说了...

您还可以使用与“|”相同的方式来分隔命令。要插入一个使用 CTRL-V CTRL-J。将显示“^@”。

但这也不起作用:

:function! SomeFunc() <NL> return 0 <NL> endfunction
Run Code Online (Sandbox Code Playgroud)

它给出了这个错误:

E488: Trailing characters
Run Code Online (Sandbox Code Playgroud)

如果我手动输入 CTRL-V CTRL-J 序列,这会起作用:

:function! SomeFunc() ^@ return 0 ^@ endfunction
Run Code Online (Sandbox Code Playgroud)

但这仍然不是一个可接受的解决方案,因为我希望能够简单地复制并粘贴function!命令并按 Enter ...

vim

4
推荐指数
1
解决办法
1695
查看次数

您如何让 rsync 从文件中加载(完整规则,不限于 --include-from)过滤规则列表?

rsync有多种选项可以从文件中读取各种配置,这样您就不必将一堆个人--include--exclude选项链接在一起。所有这些选项(据我所知)从本地计算机上的文件中读取: --exclude-from=FILE --include-from=FILE --files-from=FILE

文档--files-from=FILE甚至澄清您可以将它与本地或远程文件一起使用:

此外,如果在文件前面指定“host:”(主机必须与传输的一端匹配),则可以从远程主机而不是本地主机读取 --files-from 文件。作为快捷方式,您可以仅指定前缀“:”来表示“使用传输的远程端”。

我想知道的是哪里或什么是等价物--filter?我们有--include--include-from; --exclude--exclude-from。但在哪儿--filter-from(或者最接近的等价物是什么?)

本节上包含/排除模式规则给出了一个使用的模式规则列表中,就好像它们是包含在文件的例子...

          + /some/
          + /some/path/
          + /some/path/this-file-is-found
          + /file-also-included
          - *
Run Code Online (Sandbox Code Playgroud)

但我能找到的在文件中使用它们的唯一提及是使用从 amerge或加载的文件dir-merge

          merge, . specifies a merge-file to read for more rules.
          dir-merge, : specifies a per-directory merge-file.
Run Code Online (Sandbox Code Playgroud)

我找不到任何提及它是指本地主机还是远程主机上的合并文件,但从我到目前为止的尝试来看,它似乎只适用于远程主机上的文件。

rsync

4
推荐指数
1
解决办法
2688
查看次数

标签 统计

rsync ×1

vim ×1