众所周知,q
用于开始录制,也用于终止录制宏。
不幸的是,我正在尝试记录包含命令q:
的一系列命令,并且宏(自然地)停止在q
处录制。
有没有办法可以录制一系列包含q
正常模式的命令?
更新:我尝试将q
重新映射到其他内容并将另一个字母映射到q
,但这似乎打破了{I}的功能,因为我试图记录的实际命令
答案 0 :(得分:4)
您可以执行:
Ctrl + f 打开命令历史记录窗口而不停止录制。
答案 1 :(得分: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>
,您需要真正的类型,而不是纯文本。
但是从我的角度来看,常见任务不需要这些技巧。