ChatGPT解决这个技术问题 Extra ChatGPT

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

vim

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

它是什么以及如何关闭它?

要永久关闭 vim 录制,请将 map q <Nop> 添加到您的 .vimrc 文件中。
我不敢相信你想关闭录音!我会显示一个非常烦人的弹出窗口“你确定吗?”如果有人要求将其关闭(或者可能想提供 Windows 10 更新提供的选项)。

s
s4y

您可以通过 q 开始录制,然后可以通过再次输入 q 来结束录制。

录制是 Vim 的一个非常有用的特性。

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

Vim 恕我直言的最佳功能之一。


正如在其他地方看到的那样,它是 q 后跟一个寄存器。其中一个非常酷(并且可能不直观)的部分是这些寄存器与 delete、yank 和 put 等使用的寄存器相同。这意味着您可以将文本从编辑器拉到寄存器中,然后将其作为命令执行。
还有一点需要注意的是,您可以在 @ 之前点击任何数字来重播录音,多次像 (100@) 将播放您的动作 100 次
您可以稍后通过使用 put/yank 编辑寄存器来添加它。但我不知道您为什么要将录制作为宏的一部分打开或关闭。 (在插入模式下键入时,'q' 不会影响任何内容。)
and how to turn off 也是问题
很酷但错误的键,我不记得我想要多少亿次 :q 退出并进入录音。发生这种情况是因为我输入 q 太快,然后尝试重做 :q 并进入录制。
e
ephemient

键入 :h 录音以了解更多信息。

*q* *recording*
q{0-9a-zA-Z"}           Record typed characters into register {0-9a-zA-Z"}
                        (uppercase to append).  The 'q' command is disabled
                        while executing a register, and it doesn't work inside
                        a mapping.  {Vi: no recording}

q                       Stops recording.  (Implementation note: The 'q' that
                        stops recording is not stored in the register, unless
                        it was the result of a mapping)  {Vi: no recording}


                                                        *@*
@{0-9a-z".=*}           Execute the contents of register {0-9a-z".=*} [count]
                        times.  Note that register '%' (name of the current
                        file) and '#' (name of the alternate file) cannot be
                        used.  For "@=" you are prompted to enter an
                        expression.  The result of the expression is then
                        executed.  See also |@:|.  {Vi: only named registers}

m
mitchus

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

正如 Joey Adams 所提到的,要禁用录制,请将以下行添加到您的主目录中的 .vimrc

map q <Nop>

只回答问题的“如何关闭”部分。好吧,它使录制无法访问,实际上将其关闭 - 我猜,至少没有人希望 vi 有一个单独的线程来处理这段代码,包括我在内。
T
Tim Henigan

听起来你打开了宏录制。要关闭它,请按 q

有关详细信息,请参阅“:help recording”。

相关链接:

smr 的博客:vim :: 录音

Vi 和 Vim 宏教程:如何录制和播放


J
JeffH

正如其他人所说,它是宏录制,您可以使用 q 将其关闭。 Here's a nice article 关于操作方法及其有用的原因。


J
John Millikin

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


它实际上是通过键入 q 后跟任何寄存器名称来输入的,即 0-9、az、AZ 和“。
实际上,它是 q{0-9a-zA-Z"} - 您可以将宏记录到任何寄存器中(以数字、字母、“命名)。如果你真的想使用它……你用@<register>来执行一个寄存器的内容。如果您有兴趣使用它,请参阅 :help q:help @