【问题标题】:How to use NERD Commenter for vim -- how to use <Leader> key如何使用 NERD Commenter for vim -- 如何使用 <Leader> 键
【发布时间】:2013-01-09 00:20:47
【问题描述】:

我找到了 vim 的 NERD 评论插件,但我不理解文档。假设我想在 c/c++ 中评论一些代码,例如

code line 1  
code line 2

变成

/*
code line 1  
code line 2  
*/ 

我在这方面看过其他帖子,但老实说,我不知道NERD commenter documentation 中的&lt;leader&gt; 是什么。当我在这个other thread 中尝试接受的答案时,我最终在选定的行上执行了更改命令。什么是&lt;leader&gt;,以及如何一步一步地用/* */ 评论行?

【问题讨论】:

标签: vim


【解决方案1】:

试试内置帮助,非常棒。 :help &lt;Leader&gt; 为您带来相关文档。它只是一个未使用键的标识符(默认情况下为 \,但许多人将其更改为 ,),建议用于启动任何自定义映射。

NERD_commenter 定义了 &lt;Leader&gt;cc 映射,因此您可以按(一个接一个):\ C C

【讨论】:

  • 注意:您不需要按住&lt;Leader&gt; 键,只需像其他任何键一样按下它,然后松开即可。唯一可以与其他修饰键一起按下的修饰键是 Shift、Ctrl 和 Alt。
【解决方案2】:

你的键盘有问题

在许多非英语键盘布局上,反斜杠 \ 只能通过 AltGr 组合键访问。这使得&lt;Leader&gt; 字符的默认设置对于这些非英语键盘用户来说相当不切实际。

此外,&lt;Leader&gt; 组合键的默认超时时间为 1000 毫秒。这可以通过命令行右边缘的&lt;Leader&gt; 键的消失来观察。 因此,非英语键盘用户需要是真正的快速打字员才能使 cc 工作。否则,会导致不希望的 cc 行更改。

以下是德语键盘布局示例,其中反斜杠键位于顶行,右三:

#解决方案 建议非英语键盘用户&lt;Leader&gt;\ 字符更改为更易于访问的 , 键。 Vim 初学者也应该考虑稍微长一点的 1500 毫秒超时。这是需要添加到 ~/.vimrc

的内容
let mapleader=","
set timeout timeoutlen=1500

最后一个警告;这些更改只有在完全退出 Vim 后才会生效。:source $MYVIMRC 的资源分配将不起作用!

完成后,现在可以使用 ,cc 使用 NERD Commenter 进行评论。

【讨论】:

  • 我也摸了几下头才找到这个!
  • 感谢您提供有关需要退出 Vim 以使更改生效的信息。
  • 不确定是否将其重新映射到 ,因为这实际上是一个非常有用的移动键“反向重复前一个 f 移动”
【解决方案3】:

如何用 /* */ 注释行?

Аs 在documentation 中声明:

[count]<leader>cm |NERDComMinimalComment| 
Comments the given lines using only one set of multipart delimiters. 

所以,请使用

  • \ c m(如果你的&lt;leader&gt;\),或者
  • , c m(如果你的&lt;leader&gt;,

【讨论】:

    【解决方案4】:

    @IngoKarkat注意:你不需要按住键,只需按下它就像 任何其他键,然后释放它。

    对原始问题的建议完全错误!

    使用 NerdCommenter,您必须按住 &lt;leader&gt; 键。否则,正如 OP 发现的那样,您最终只会激活“更改”模式。

    【讨论】:

    • 这不是真的。快速连续按键对我有用。
    • 不是真的,你快速连续按下效果很好
    猜你喜欢
    • 1970-01-01
    • 2012-07-04
    • 2014-12-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-05-09
    • 1970-01-01
    • 2018-08-30
    相关资源
    最近更新 更多