VIM宏编辑

时间:2011-06-29 21:26:32

标签: vim macros

假设我录制了一个包含许多命令和特殊字符的长宏。赔率是我在某处犯了错误:)如何编辑宏,纠正错误并再次保存?

例如:

我希望复制一行,然后将其中的数字增加一个。

这是宏

yyp/\d<C-A>

但它保存为

yyp/\d^M^A

当我粘贴寄存器时,我看不到这个特殊字符。当我希望复制寄存器时,我还必须使用'let',因为标准粘贴到屏幕并复制到另一个寄存器不起作用。如何有效编辑特殊字符的注册?

由于

2 个答案:

答案 0 :(得分:5)

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

所以只需将寄存器粘贴到缓冲区即可。然后编辑并回到寄存器中并作为普通宏执行。如果您想将<C-A>修改为其他内容,例如<C-E>,则只需删除粘贴时显示的^A,然后按{<C-E> {1}}(或<C-V><C-E>如果您在Windows上具有Windows兼容性)。它会显示为<C-Q><C-E>,但这就是它应该是的样子。

答案 1 :(得分:0)

在插入模式下按<C-r><C-r>q(此处q为寄存器名称)。执行:h ctrl-r_ctrl-r查看详细信息。