使用<esc> </esc>在vim中保存宏

时间:2011-01-23 16:38:24

标签: vim macros

This thread解释了将vim宏保存到文件但我无法让它工作。我将以下宏存储在寄存器b中,我试图保存到我的rst.vim文件中:

let @b = '<Esc>bea**<Esc>`<i**<Esc>gvoo<Esc>e'

'...'中的所有内容都来自于使用"bp从缓冲区粘贴宏。但当我关闭并重新打开仅包含句子The quick brown fox jumped over the moon并输入fbv2e@b的第一个文件时,这就是结果句子:

Thc>bea**<Esc>`<i**<Esc>gvoo<Esc>e quick brown fox jumped over the moon.

所以,我必须有一些我失踪的逃脱击键,但我找不到它们是什么。我尝试搜索谷歌和:help类似的宏示例无济于事。我在搜索时缺少什么以及应该查找哪些条款?谢谢!

1 个答案:

答案 0 :(得分:3)

正如一些人所暗示的,问题是<Esc>实际上是<Esc>。 Vim使用C-v <ESC>在文本文件中生成转义。所以我在问题的:s/<Esc>/^[/g行上运行了:let 请注意,^[^[生成的C-v <Esc>不同!

为了在几个月后让自己头疼,我将^[切换为\e。我必须确保用双引号包围宏,因为单引号不起作用。