如何将包含多个搜索和替换的宏保存到我的.vimrc中

Dop*_*ger 5 vim macros replace multiline

我有一个宏用于替换其html实体的特殊字符.我想将它保存在我的.vimrc中.

根据这个,我应该使用let @ r =' macro_text_goes_here '.问题是我的宏是一系列搜索和替换,如下所示:

:%s:á:\á:Ige
:%s:é:\é:Ige
:%s:í:\í:Ige
Run Code Online (Sandbox Code Playgroud)

所以,我尝试使用实际换行符使用^ V-enter,<enter>,<CR>,但它永远不会有效.另一方面,如果我将文本放在寄存器上然后运行宏,它按预期工作.

sml*_*sml 10

将此添加到.vimrc对我有用

let @a=':%s/á/\&aacute;/g^M:%s/é/\&eacute;/g^M:%s/í/\&iacute;/g^M'
Run Code Online (Sandbox Code Playgroud)

请注意,^ M是使用Ctrl+ V,Ctrl+ 输入的特殊字符M.