将键附加到vim中的早期录制

将键附加到vim中的早期录制,vim,automation,shortcut,key-bindings,Vim,Automation,Shortcut,Key Bindings,我知道是什么 假设我已经在一个寄存器上录制了一段录音,我缺少了一些我想添加到该序列中的密钥。有没有办法将这些键附加到vim中的早期录制中?使用大写字母将附加到寄存器,因此qA将继续录制@a宏 从:帮助q: q{0-9a-zA-Z"} Record typed characters into register {0-9a-zA-Z"} (uppercase to append). 注意:这适用于与寄存器相关的所有内容,因此“Ayw还会将下一个单

我知道是什么


假设我已经在一个寄存器上录制了一段录音,我缺少了一些我想添加到该序列中的密钥。有没有办法将这些键附加到vim中的早期录制中?

使用大写字母将附加到寄存器,因此
qA
将继续录制
@a

:帮助q

q{0-9a-zA-Z"}       Record typed characters into register {0-9a-zA-Z"}
                    (uppercase to append).

注意:这适用于与寄存器相关的所有内容,因此
“Ayw
还会将下一个单词附加到register
“a

粘贴宏

您可以通过以下操作将您的注册表粘贴到当前文件上(例如,注册“a”):

如果我想删除该行的最后一个字,并且我想删除该行前面的空格,请跳到该行的开头并向下移动一行

原始登记册“a”:

粘贴注册表

:put a
在插入模式下,我们需要按字面插入宏,因此我们需要使用Ctrl rCtrl ra

注意:第二个Ctrl-r是捕获Esc或Enter所必需的

修改宏

修改寄存器“a”:

在上面的示例中,我们刚刚添加了
x0j

重新分配宏

然后,您可以进行视觉选择并猛拉至寄存器“a”:

如果要切换模式,可以通过键入Ctrl-vEsc按字面顺序键入Esc

您还可以使用“let”设置寄存器,在本例中,使用寄存器“a”切换行的大小写并转到下一行:

let @a="V~\<Esc>0j"
必须使用双引号,否则将无法按预期工作

注意:通过键入Ctrl-vEsc插入有向图
^[
,它从字面上表示Esc

:put a
$diwx0j
0vg_"ay

0 ........ goes to the beginning of the line
v ........ visual selection
g_ ....... goes to the end of the line without line break
"ay  ..... copy to the register "a"
let @a="V~\<Esc>0j"
:let @a="iHello World\<Return>bye\<Esc>"