Vim录制(q)无法记录行删除(d)

时间:2016-03-04 11:36:31

标签: vim ide

q 模式下,按下列组合:

home d j j j (删除当前行和步骤3行)

然后按 q 退出录制模式。然后我尝试使用记录序列删除每个第4行。所以我按 @ 1 重播我的寄存器“1”。我只观察一次预期的行为。寄存器“1”的第二次启动( @ 1 )导致光标向右移动2个符号。我录制的节目被遗忘了。

没有命令 d 的任何其他程序都可以正常工作,并且可以重复多次。那么,如何使用 d (删除行)运算符录制程序?

1 个答案:

答案 0 :(得分:4)

vim对已删除的文本使用注册1-9。最新删除的文本在reg 1中,当发生另一次删除时。 1中的文字已移至注册2,注册1包含最新删除等。更多详情:help quote_number

所以你的录音在重播后被覆盖了。

作为一种良好做法,在录制时最好使用named registers,即a-z Or A -Z。在我们指示之前,这些都没有填写。更多详情:help quote_alpha

我的正常做法是使用非常接近a键的reg q进行录制。对于您的特定示例,我只需使用

qa
djjj
q
@a

然后继续重播录音。