可能重复:
保存 vim 宏
我总是跨行使用宏,它们是救命稻草。但最近,我开始使用它们来做一些更复杂的文件操作,我想将它们记录到一个函数中,或者以某种方式在 Vim 会话中使用它们,这样我就不必每次都重新记录它们我退出 Vim 的时间。
最简单的方法是什么?
Vim 宏实际上只是保存在寄存器中的文本,并且由于寄存器是跨会话保存的 - 您的宏会自动保存。
但是,在我看来,宏背后的整个想法是您可以快速创建它们,使用它们,然后丢弃它们。如果您想要更永久的东西,您应该努力编写自定义命令或键盘映射 - 如果这是一个复杂的宏,您应该用适当的 vimscript(或任何其他脚本语言 vim 支持)为它编写一个函数。
如果您要经常使用它,您希望能够不时对其进行更改和修复-但这在宏中很难做到,因为它们是代表击键的文本字符串-而不是命令。
function! MyMacro()
normal "paste your macro here
endfunction
但我同意 Idan Arye 的观点:使其成为用 vimscript 编写的适当函数可能是一个更好的解决方案。