如果我想将 repeat.vim 与 surround.vim 一起使用,那么 repeat#set 函数的第一个参数应



根据站点 https://github.com/tpope/vim-repeat,启用 repeat.vim 的过程如下:

silent! call repeat#set("<Plug>MyWonderfulMap", v:count)

但我不明白 repeat#set 函数的第一个参数。 你能举个例子来解释一下吗? 如果我想配置repeat.vim和surround.vim,我应该在.vimrc中包含什么指令? 对于unparaired.vim来说,该指令将如何变化?

如果你想让

环绕声得到repeat的支持,你不必在你的 vimrc 中做太多事情,如果你检查surround的代码,重复函数在那里被调用。

对于该功能的解释,您可以在问题中编写的链接中找到它。 在这里阅读:

https://github.com/tpope/vim-repeat/blob/master/autoload/repeat.vim#L19

你显然对 repeat.vim 的工作原理有错误的理解。您不能通过调用repeat#set()一次来启用此功能(例如在您的~/.vimrc中);相反,映射本身必须修改,以便在映射的正常工作完成后调用repeat#set()

repeat.vim 插件的工作方式是每个映射都必须告诉它:嗨,我<Plug>MyMapping,我刚刚被执行。repeat.vim 插件钩接到 . 命令,如果最后一个命令来自这样的映射,它会重新执行 = 重复。

因此,repeat.vim 支持需要插件的合作(它定义了一些映射);要么插件有,要么没有(然后你必须要求插件的作者提供 repeat.vim 支持,或者使用外部插件,如我的 repeatableMapping 插件在事后修改映射。

但是,正如Kent已经说过的那样,环绕声插件来自与repeat.vim相同的作者,并且它已经内置了该支持。

最新更新