有谁知道如何正确保存/重用vim编辑器中记录的宏?
答案 0 :(得分:193)
使用q
后跟一个字母来录制宏。这只是进入一个复制/粘贴寄存器,因此您可以在正常模式下使用"xp
或"xP
命令正常粘贴它。
要保存它,你打开.vimrc并粘贴内容,然后下次启动vim时寄存器就会出现。
格式如下:
let @q = 'macro contents'
但要小心引用。他们必须妥善逃脱。
所以要保存宏,你可以这样做:
qq
q
"qp
将宏插入您的let @q = '...'
行答案 1 :(得分:20)
要获得更强大的解决方案,您可以结帐Marvim。
它允许您在特定命名空间中保存宏(或使用文件类型作为默认命名空间),稍后您可以搜索已保存的宏并将其加载到可供使用的寄存器中。
如果重复使用大量宏,这非常有用。
答案 2 :(得分:18)
在你的〜/ .vimrc中编写宏来定义一个由CTRL + O启动的宏,例如,将以下行添加到〜/ .vimrc:
map <C-O> MACROTEXT
当您通过键入qa
录制宏时,您可以通过键入"ap
答案 3 :(得分:11)
:mkexrc
(或:mkvimrc
)命令可用于将所有当前:map
和:set
设置保存到文件中。有关详细信息,请参阅:help mkexrc
。
答案 4 :(得分:3)
您可以在~/.vimrc
:let @a="iHello World!\<CR>bye\<Esc>"
注意:您必须使用双引号才能使用特殊的键,例如\<this silly example>
。
答案 5 :(得分:0)
在MacOS Mojave(10.14.6)上的Vim 8.0实际上会自动保留宏和命名缓冲区(默认情况下,尽管我没有寻找关闭此行为的方法)。关闭Vim会话将使用任何命名的缓冲区/宏更新~/.viminfo
文件。