编辑宏的内容

编辑宏的内容

宏中的键盘编码 #

:reg a
"a Omoul<80>kb<80>kbdule Rank^[j>GGoend^[

Vim都用 ^[ 表示ESC键。代表退格键的符号 <80>kb。

将宏粘贴到文档中 #

用于录制宏的寄存器,与用作复制、粘贴操作的寄存器是一样的。因此,如果我们想修改寄存器 a中的宏的话,只需将其粘贴至文档中,便可以像编辑普通文本一样编辑它了。

首先,我们按G键,跳到当前文档的结尾,目的是要把寄存器a中的内容粘贴至新的一行。处理这种情况最简单的方式是用 :put命令:

:put a

为什么不直接用 “ap 命令呢?因为,p命令会把寄存器a的内容粘贴至当前行的光标之后。而:put命令总会将它们粘贴至当前行的下方,无论寄存器保存的是面向行的还是面向字符的文本块。

编辑宏 #

现在我们可以像编辑普通文本一样编辑宏了。

将宏从文档复制回寄存器 #

最简单的方式就是运行 “add(或者 :d a),但这么做可能会在以后导致问题。 dd命令将执行面向行的删除操作,因此,寄存器会包含一个拖尾字符 ^J:

:reg a
0f.r)wvUj^J

该字符表示一个换行符,且在大多数情况下,该字符都无关紧要。但有时这个拖尾字符可能会改变宏的意义。为了保险起见,用面向字符的复制操作把这些字符从文档复制回寄存器会更安全:

0"ay$
dd

我们依次运行命令 0 以及 “ay$,将把该行除回车符之外的每一个字符都复制下来。在把宏的内容保存回寄存器a之后,我们就可以用dd删除这一行了。尽管删除的内容最终将被保存到缺省寄存器,但我们也不会用到它们。

做完以上这些步骤,当前寄存器 a中保存着一个新的、改进的宏。

From #

Vim实用技巧