众所周知,q它用于开始录制和终止录制宏。
不幸的是,我正在尝试记录一系列命令,其中包括 command q:,并且宏(自然)在q.
有没有办法可以记录一系列命令,包括q在正常模式下键入的命令?
更新:我尝试重新映射q到其他内容并将另一个字母映射到q,但这似乎破坏了q我尝试记录的实际命令的功能。
您可以执行:Ctrl+f打开命令历史记录窗口而不停止录制。
好吧,您已经得到了公认的答案,我只是提到了另一个录制宏的技巧,以便您可以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>,你真的需要这样输入,而不是纯文本。
但从我的角度来看,普通任务不需要这些技巧。