如何取消已经开始的vim录制,以便它不会覆盖我之前录制的宏?

mer*_*011 6 vim macros

我不小心碰到qq@q,而我的vim现在正在录音q.如果我q再次输入,它将覆盖以前录制的宏.

还有办法吗?

  1. 取消录制,以便不覆盖前一个宏或
  2. 恢复以前的宏而不从头开始重新录制?

ram*_*ion 8

您可以将宏备份到另一个寄存器:

:let @a=@q
Run Code Online (Sandbox Code Playgroud)

然后将前一个宏存储在寄存器a中,并可以作为运行@a.