什么是vim录音以及如何禁用它?

veh*_*zzz 731 vim

我一直recording在gvim 7.2窗口底部看到这条消息.

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

yog*_*oth 1011

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

录制是Vim非常有用的功能.

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

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

  • 正如其他地方所见,它的后跟一个寄存器.一个非常酷(可能是非直观)的部分是这些是*delete,yank和put之类的*相同的*寄存器.这意味着您可以将编辑器中的文本拖入寄存器,然后将其作为命令执行. (103认同)
  • 还有一点需要注意的是,你可以在@之前点击任意数字来重放录音很多次(100 @ <letter>)会播放你的动作100次 (64认同)
  • 您可以通过使用put/yank编辑寄存器来添加它.但我不知道你为什么要把录音作为宏的一部分打开或关闭.(在插入模式下键入时,'q'不会影响任何内容.) (7认同)
  • @Wade`"` - 它被称为默认寄存器. (3认同)
  • "以及如何关闭"也是一个问题 (3认同)
  • 很酷但错误的钥匙,我记不起我想要多少十亿次:q退出并进入录音.这是因为我输入q太快然后尝试重做:q然后进入录音. (2认同)
  • 这里有一点异议:vim 还可以,但是我在每个环境中做的第一件事就是“设置兼容”。你知道,如果我想要所有这些“智能”功能,我会使用 emacs;我使用 vi 是因为它兼具简单性、高效性和可移植性。 (2认同)

eph*_*ent 100

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

                           *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}


Tim*_*gan 36

听起来你打开了微距录音.要关闭它,请按q.

有关详细信息,请参阅" :帮助记录 ".

相关链接:


mit*_*hus 29

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

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

map q <Nop>
Run Code Online (Sandbox Code Playgroud)

  • 只回答关于"如何关闭"问题的一部分.好吧,它使得录制无法访问,有效地将其关闭 - 至少没有人希望vi为这段代码设置一个单独的线程,我想,包括我在内. (10认同)

Jef*_*ffH 23

正如其他人所说,它是宏录制,你用q关闭它.这是一篇很好的文章,讲述了如何以及为什么它有用.


Joh*_*kin 14

这意味着你处于"记录宏"模式.通过键入q后跟注册名称输入此模式,可以通过q再次键入退出.

  • 实际上,它是q {0-9a-zA-Z"} - 您可以将宏记录到任何寄存器(由数字,字母,")命名.如果你真的想要使用它...你用@ <register>执行寄存器的内容.如果您对使用它感兴趣,请参阅`:help q`和`:help @`. (3认同)