8

我知道录制q到寄存器中,但我想知道是否可以设置一些东西来快速调用最后一次录制,这与.调用最后一个短编辑命令的方式大致相同(有关 的讨论,请参见此处.)。

我知道,但它似乎只有在使用了寄存器@@之后才起作用。例如,要进行录音,您必须键入,继续做您的事情,然后为了运行录音,您必须在开始之前重复该操作。@zzqzq@z@@

我现在的 hack 解决方案是一个绑定nnoremap , @q,它让我可以qq使用q. 有没有更好的东西(例如,通过单次击键记录到特定寄存器中的东西,或者专门重复上次录制的宏的东西)?诚然,这并不是一个巨大的改进,因为它已经非常优化了。

对我来说,一个易于使用的寄存器通常比需要更多工作才能获得的大量寄存器更有用。尽管这可能只是因为我不善于记住事物,并且看不到自己有效地利用了不止一个。

4

2 回答 2

2

由于您喜欢对所有宏使用相同的寄存器并根据需要对其进行记录,因此您可以在 _vimrc 文件中设置和执行该寄存器,以便@@“准备好”。

在您的 _vimrc 文件中,添加:

let @z = ''
execute 'normal @z'

现在,只要您在 register 中录制了一个宏z,您就可以立即使用@@.

于 2013-05-23T20:39:13.800 回答
0

您可以尝试一些与您要求的类似的插件:

RepeatLast.vimrecord-repeat.vim

另一种选择是使用一些函数并将其与repeat.vim相关联。

于 2013-05-23T20:55:09.657 回答