NERD评论者:如何注释掉一个代码范围

11

我正在使用NERD评论插件

假设我想注释从78到172行的代码。这是我所做的。我计算差值,即94。将光标放在第78行,然后我执行:94,c空格

通过这种方式,我可以从第78行开始注释94行。

我不喜欢需要进行的计算。我希望能够传递一个范围,例如

78,172来注释从第78行到172行的代码。我有什么遗漏吗?

鉴于此插件的流行程度,似乎必须有一种更好的方法来进行注释和取消注释。

4个回答

12

我会(在可视模式下)执行 :78v172G 以选择和突出显示第78到172行,然后只需输入 ,c<space>


喜欢这个答案 - 它适用于在可视模式下注释和取消注释文本 - arcseldon
我也只使用这种方法,但即使如此,它也不是非常高效。如果这个插件支持<count><textobject><motion>语法,那就太好了,因为它可以让注释变得非常快速。我的意思是像这样5c-/j来切换注释。我已经映射了c-/来切换注释。我真的很想念这个功能。 - Rohit

6
似乎NERDCommenter不支持范围,因此Alex的回答是正确的,但他有一个错别字-应该是78GV172G来选择(注意-没有前置:),然后是你的评论函数(在我的情况下是\cc)。

我按照你说的选择了正确的行。但是我该如何使用nerdCommenter将它们注释掉呢?我应该输入什么?文档上写着[count]<leader>cc |NERDComComment|,但我不知道每个部分的含义。 - hakunami

3

进入可视模式<ctrl> + V,使用箭头键选择你想要的行,然后输入 /c<space>(也许你已经绑定了其他按键来进行注释)。


1

性感的C注释模式

使用可视选择+<leader>cc,默认情况下可以处理行范围,在2.5.2上测试通过,如下所述:https://dev59.com/9XM_5IYBdhLWcg3wcSt_#1375070

但是,我想在这个答案中强调使用<leader>cs的“性感模式”注释,它可以生成漂亮的C多行注释。

例如,如果您从以下内容开始:

This is a c style sexy comment
So there!

然后从视觉选择中使用<leader>cs进行转换,结果为:

/* This is a c style sexy comment
 * So there! */

您也可以通过在.vimrc中添加以下内容来切换到非紧凑模式:

let g:NERDCompactSexyComs = 0

它的工作方式如下:
------------------------------------------------------------------------------

                                                         *'NERDCompactSexyComs'*
Values: 0 or 1.
Default 0.

Some people may want their sexy comments to be like this: >
    /* Hi There!
     * This is a sexy comment
     * in c */
<
As opposed to like this: >
    /*
     * Hi There!
     * This is a sexy comment
     * in c
     */

另一个相关的格式可能会感兴趣的是“ Minimal comment map”,可通过 <leader>cm 访问,它生成:
/* Hi There!
   This is a sexy comment
   in C */

很遗憾,我没有找到我喜欢的样式:
/* Hi There!
 * This is a sexy comment
 * in c
 */

所以我打开了:https://github.com/scrooloose/nerdcommenter/issues/379


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接