0

可能重复:
保存 vim 宏

我总是跨行使用宏,它们是救命稻草。但最近,我开始使用它们来做一些更复杂的文件操作,我想将它们记录到一个函数中,或者以某种方式在 Vim 会话中使用它们,这样我就不必每次都重新记录它们我退出 Vim 的时间。

最简单的方法是什么?

4

2 回答 2

3

Vim 宏实际上只是保存在寄存器中的文本,并且由于寄存器是跨会话保存的 - 您的宏会自动保存。

但是,在我看来,宏背后的整个想法是您可以快速创建它们,使用它们,然后丢弃它们。如果您想要更永久的东西,您应该努力编写自定义命令或键盘映射 - 如果这是一个复杂的宏,您应该用适当的 vimscript(或任何其他脚本语言 vim 支持)为它编写一个函数。

如果您要经常使用它,您希望能够不时对其进行更改和修复-但这在宏中很难做到,因为它们是代表击键的文本字符串-而不是命令。

于 2012-06-12T21:01:22.237 回答
2
function! MyMacro()
   normal "paste your macro here
endfunction

但我同意 Idan Arye 的观点:使其成为用 vimscript 编写的适当函数可能是一个更好的解决方案。

于 2012-06-13T05:46:15.773 回答