70

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

code line 1  
code line 2

变成

/*
code line 1  
code line 2  
*/ 

我已经看到了其他线程,但老实说,我不知道NERD 评论者文档<leader>中的内容。当我在另一个线程中尝试接受的答案时,我最终在所选行上执行了更改命令。什么是,以及如何一步一步地用 来评论行?<leader>/* */

4

4 回答 4

72

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

NERD_commenter 定义<Leader>cc映射,所以你会按(一个接一个)\ C C:。

于 2013-01-09T00:50:59.273 回答
31

你的键盘有问题

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

此外,<Leader>按键组合的默认超时时间为 1000 毫秒。这可以通过<Leader>命令行右边缘的键消失来观察。因此,非英语键盘用户需要是真正的快速打字员</kbd>cc to work. Failure to do so, results in an undesired cc line change.

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

#Solution 建议非英文键盘用户<Leader>\字符更改为更易于访问的,键。Vim 初学者也应该考虑稍微长一点的 1500 毫秒超时。这是需要添加的内容~/.vimrc

let mapleader=","
set timeout timeoutlen=1500

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

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

于 2014-10-05T17:37:58.443 回答
7

如何用 /* */ 注释行?

Аs 在文档中说明:

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

所以,只需使用

  • \ c m(如果你<leader>\),或
  • , c m(如果你<leader>,
于 2015-02-24T21:49:00.263 回答
1

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

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

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

于 2017-02-02T21:46:14.537 回答