4

众所周知,q它用于开始录制和终止录制宏。

不幸的是,我正在尝试记录一系列命令,其中包括 command q:,并且宏(自然)在q.

有没有办法可以记录一系列命令,包括q在正常模式下键入的命令?

更新:我尝试重新映射q到其他内容并将另一个字母映射到q,但这似乎破坏了q我尝试记录的实际命令的功能。

4

2 回答 2

4

您可以执行:Ctrl+f打开命令历史记录窗口而不停止录制。

于 2013-04-16T17:47:19.827 回答
3

好吧,您已经得到了公认的答案,我只是提到了另一个录制宏的技巧,以便您可以q:在宏中拥有:

你可以按:ctrl-f,或者如果你真的爱q:,你可以:

例如:

let @q='5j5kq:<c-v><up><c-v><enter>j'

5j5k什么都不做,例如。

200@q将在接下来的 200 行中执行最后一个命令。如果您的最后一个命令将一些参数(如当前行号或当前行(文本))传递给函数。它也会起作用。

如果要在宏中编辑命令行,则需要在<c-v><enter>按下按键序列之前。

因为<c-v><up><c-v><enter>,你真的需要这样输入,而不是纯文本。

但从我的角度来看,普通任务不需要这些技巧。

于 2013-04-16T18:06:00.280 回答