我如何在Vim中重复任何命令,如emacs中的“Cx z”?
在Vim中,有没有什么办法可以重复上一个命令,不pipe是不是编辑,也没有先见之明的macros?
比如说我input:bn
,并且想再次执行(这是错误的文件)。 按下.
显然不这样做。 或者,也许我在做gE
,想重复一遍(有一个击键,因为显然gE
有点痛苦)。
也许有一些插件? 类似于这个问题 。
(更酷的是将一些命令追溯地绑定到macros,所以可以键入5qa@a
或者重复最后5个命令)
要重复命令行命令,请尝试@:
要重复正常/插入模式命令,请尝试.
,
添加下面的映射到你的.vimrc如果你想快捷相同: –
:noremap <CP> @:<CR>
– 这将把Ctrl + P映射到之前的命令行命令。 你可以映射任何其他组合。
:help repeating
将提供典型的重复命令(如。,@:等)。 你可以尝试repeat.vim 。 这可能会让你更接近你正在寻找的东西。
对于运动命令,Vim中没有内置的机制。 Find和To命令( f
/ F
/ t
/ T
)有;
并重复和颠倒。 有几个插件扩展了这些绑定来重复其他的运动命令:
http://www.vim.org/scripts/script.php?script_id=2174
http://www.vim.org/scripts/script.php?script_id=3665
后者应该支持重复使用gE
;
你可以使用“。”
例如:你的文件中有10个地方有“abc”,你想用5个地方的“def”replace它。
步骤1:通过键入命令“/ abc”查找abc的第一次发生
步骤2:一旦光标在“abc”上,用命令“cw”replaceabc取出单词“abc”
第三步:input“def”作为replace,按回车键进入命令模式
第四步:重复这个操作,只需input命令“n”进入下一个abc ,input命令“。”。 。 该命令记得你上次用“def”replace了“abc”,并且在这里执行相同的操作。
您可以将@:
映射到某个键以获得更多便利:
:map <F2> @:
然后重复使用它就更容易了。