VIM宏编辑

5
假设我录制了一个包含许多命令和特殊字符的宏。很可能我在某个地方犯了错误 :) 那么我该如何编辑宏、纠正错误并重新保存呢?
例如:
我想复制一行,然后将其中的数字增加1。
此操作的宏为:
yyp/\d<C-A>

但它被保存为:
yyp/\d^M^A

当我粘贴寄存器时,我看不到特殊字符。而且,当我想复制一个寄存器时,我必须使用 'let' 进行操作,因为标准的屏幕粘贴和复制到另一个寄存器并不能正常工作。我该如何高效地编辑带有特殊字符的寄存器呢?

谢谢!

2个回答

5
当你说“看不到特殊字符”时,你是指哪些特殊字符? 你应该能够正常地看到表示<C-A><回车>^A^M。 这就是你需要的全部内容。
因此,只需将寄存器粘贴到缓冲区中。 然后进行编辑并将其重新复制到寄存器中,然后作为普通宏执行。 如果您想将<C-A>编辑为其他内容(例如<C-E>),那么只需删除粘贴时出现的^A,然后通过按下<C-V><C-E>(如果您使用的是Windows兼容模式,则为<C-Q><C-E>)插入<C-E>。 它将显示为^E,但这就是它应该的样子。

哦,谢谢你。问题出在我在插入模式下粘贴寄存器时,所以我看不到这个 ^M 和 ^A。 - shime

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

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接