什么是Vim录制,如何禁用它?


760

recording在gVim 7.2窗口的底部一直看到该消息。

这是什么,如何关闭它?


55
要永久关闭vim录制,请添加map q <Nop>到您的.vimrc文件。
乔伊·亚当斯

4
我不敢相信您想关闭录音!我会显示一个非常烦人的弹出式窗口,“您确定吗?” 如果有人要求将其关闭(或者可能希望提供Windows 10更新提供的选项)。
0xc0de

Answers:


1052

您可以开始录制q<letter> ,也可以通过q再次键入来结束录制。

记录是Vim真正有用的功能。

它记录您键入的所有内容。然后,您只需键入即可重播它@<letter>。记录搜索,移动,替换...

Vim IMHO的最佳功能之一。


109
如其他地方所见,它是q,后跟一个寄存器。其中一个很酷的(可能是不直观的)部分是这些寄存器与delete,yank和put之类的东西使用的寄存器相同。这意味着您可以将文本从编辑器中提取到寄存器中,然后将其作为命令执行。
卡斯卡贝尔2009年

68
还有一点需要注意的是,您可以在@之前按任意数字来重播录音,例如(100 @ <letter>)将多次播放您的动作
Tolga E

7
您可以随后通过使用put / yank编辑寄存器来添加它。但是我不知道为什么要作为宏的一部分打开或关闭录音。(在插入模式下键入时,“ q”不影响任何操作。)
anisoptera 2014年

3
@Wade- "称为默认寄存器。
卡斯卡贝尔2015年

4
and how to turn off也是个问题
n611x007

103

输入:h recording以了解更多信息。

                           * q *  *记录* 
q {0-9a-zA-Z“}将键入的字符记录到寄存器 {0-9a-zA-Z”}中
                        (大写追加)。' q '命令被禁用
                        在执行寄存器时在内部不起作用
                        一个映射。{Vi:不录制}

q                        停止录制。(实施说明:“ q ”表示
                        停止记录未存储在寄存器中,除非
                         映射的结果){Vi:无记录}


                                                        * @ *
@ {0-9a-z“。= *}执行寄存器 {0-9a-z”。= *} [count] 
                        次的内容。请注意,寄存器 '  '(当前名称
                        文件)和'  '(备用文件的名称)不能为
                        用过的。对于“ @ = ”,系统将提示您输入
                         表达式表达式的结果是
                        被执行。另请参阅 @: |。{Vi:仅命名寄存器}


31

键入q开始宏录制,并且当用户q再次单击时录制停止。

如Joey Adams所述,要禁用记录,请.vimrc在主目录中添加以下行:

map q <Nop>

11
仅回答有关问题的“如何关闭”部分。好吧,它使录制变得不可访问,有效地将其关闭-至少没有人期望vi对此代码有单独的线程,我想包括我在内。
n611x007


15

这意味着您处于“录制宏”模式。通过键入q后跟寄存器名称进入此模式,可以q再次键入退出该模式。


它实际上是通过键入q后跟任意寄存器名称(0-9,az,AZ和“)输入的。
ephemient

3
实际上,它是q {0-9a-zA-Z“}-您可以将宏记录到任何寄存器中(以数字,字母,“命名”)。万一您确实要使用它...您可以使用@ <register>执行寄存器的内容。见:help q:help @,如果你有兴趣使用它。
卡斯卡贝尔
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.