我注意到 vim 非常直观,但我很难找到重复倒数第二个命令(或倒数第三个、倒数第四个等)的方法。通过在正常模式下键入.
,它将重复最后一个命令。按3.
将重复最后一个命令 3 次。
假设我oHello<Esc>
当时打字A, World!<Esc>
。我现在得到
Hello, World!
屏幕上。现在,说我想要得到
Hello, World!
Hello
Hello
Hello
无需输入“Hello”。 vim 是否存储超过一个命令的历史记录,以便我可以键入类似的内容3,2.
(即重复倒数第二个命令三次)?
答案1
不,.
命令vim
没有历史记录,据我所知,正常模式命令也没有任何类型的重复历史记录。对于最少的击键次数,我建议使用4oHello<Esc>3jA, World<Esc>
.如果您已经完成了oHello<Esc>A, World<Esc>
,您可以按照 进行操作uyy<Ctrl-r>3p
。
答案2
有一个名为 RepeatLast.vim 的插件,它可以满足您的需求,但需要付出一定的代价:您的 vim 始终处于录制宏模式。您可以像任何其他 vim 软件包一样使用您正在使用的软件包管理器来安装它,或者如果您~/.vim/plugin
使用的是 vim 或~/.config/nvim/plguin
neovim,则可以简单地克隆并放入它。要重复倒数第二个操作,您应该2\.
在正常模式下键入,要重复倒数第二个操作,您应该<n>\.
在正常模式下键入。
http://www.vim.org/scripts/script.php?script_id=4381 https://github.com/vim-scripts/RepeatLast.vim