保存vim宏

时间:2010-01-07 23:22:03

标签: vim editor macros

有谁知道如何正确保存/重用vim编辑器中记录的宏?

6 个答案:

答案 0 :(得分:193)

使用q后跟一个字母来录制宏。这只是进入一个复制/粘贴寄存器,因此您可以在正常模式下使用"xp"xP命令正常粘贴它。

要保存它,你打开.vimrc并粘贴内容,然后下次启动vim时寄存器就会出现。
格式如下:

let @q = 'macro contents'

但要小心引用。他们必须妥善逃脱。

所以要保存宏,你可以这样做:

  • 从正常模式:qq
  • 输入任何命令
  • 从正常模式:q
  • open .vimrc
  • "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文件。