为什么我的 vim 宏有时会停止工作?

Buz*_*uzu 5 vim macros

这种情况有时会发生在我身上,我一直无法弄清楚为什么。假设我开始在 vim 中录制(按 q)然后我完成并使用宏几次。然后我做其他事情,比如继续编辑文件。然后我想再次使用宏,但这次发生了其他事情,例如,光标向后移动一个单词。

这在我身上发生过几次。例如,今天我开始一个宏(q 2),然后我使用它(@ 2)几次。然后我输入一些文本并尝试再次使用宏 (@ 2),但是这次当宏应该将一些文本格式化为 HTML 时,光标向后移动了一个字。

每次这种情况发生在我身上时,我都会尝试重现它。我创建了一个虚拟宏,然后再次做同样的事情,但我从来没有能够随意复制它。当我尝试重现此行为时,宏才起作用。

在发生这种情况的任何时候,我都没有关闭或以其他方式暂停 vim。

我知道用所提供的信息可能很难回答这个问题,但我希望你们中的一些人以前发生过这种情况,并且你们已经能够弄清楚为什么会发生这种情况。我很确定这只是我对 vim 所不了解的。

rom*_*inl 10

编号寄存器在 Vim 内部用于诸如y或 之类的命令d

你不应该用它们来记录你的宏,因为它们在每次猛拉或删除时都会被覆盖。

使用寄存器ato z,Vim 不接触它。