2011-06-29 67 views
2

假设我记录了一个有很多命令和特殊字符的长宏。可能性是我在某处发生了错误:)如何编辑宏,更正错误并再次保存?VIM宏编辑

例如:

我想复制行,然后由一个增加它的数字。

宏这是

yyp/\d<C-A> 

,但它被保存为

yyp/\d^M^A 

,我不能看到这个特殊字符,当我粘贴寄存器。当我想复制一个寄存器时,我也必须使用'let'来播放,因为标准粘贴屏幕和复制到另一个寄存器不起作用。我如何有效地编辑注册特殊字符?

谢谢

回答

5

你是什么意思,当你说你“看不见特殊字符”?什么特殊字符?您应该可以看到^A^M的罚款,分别代表<C-A><carriage return>。这就是你需要的。

所以,只要将寄存器粘贴到缓冲区。然后编辑并返回到一个寄存器并执行一个普通的宏。如果你想编辑<C-A>作为别的东西,比如说<C-E>,那么只需要删除出现在粘贴上的^A,然后按<C-V><C-E>(或<C-Q><C-E>,如果你在windows上兼容windows的兼容性)就可以加入<C-E>。它会显示为^E,但这就是应该如此。

+0

哦,我的,谢谢你。问题是我在插入模式时粘贴了注册表,所以我看不到这个^ M和^ A。 – shime

0

在插入模式下按<C-r><C-r>q(这里q是寄存器名称)。执行:h ctrl-r_ctrl-r查看详情。