用NerdCommenter评论一个函数

时间:2011-02-25 22:59:38

标签: vim

有办法做到这一点吗?我知道你可以做所有明显的事情,比如c和cs

但我不认为评论整个功能有约束力......

3 个答案:

答案 0 :(得分:2)

从函数内部的任何位置执行:

va{,c<space>

当然,您可以将其映射到某些内容:

:map ,o va{,c<space>

所以在函数内按,o会对其进行注释(如果已经注释,则取消注释)。

答案 1 :(得分:1)

取决于......

这取决于功能的方式和位置。

public function test()
{
    $name = "whatever";
    $data = array(
        'name' => $name
    );

    return $data;
}

场景1:public function test()

处的光标线1
  

序列:Vj%

V    Start linewise visual mode
j    Go down one line
%    Go to matching closing bracket 

enter image description here

场景2:$name = "whatever"

处的光标第3行
  

序列:va{ok

v    Start visual mode
a{   Arround bracket
o    Exchange cursor from top to bottom of selection
k    Go up one line

enter image description here

然后,照常评论,,c,具体取决于您的书呆子评论者映射。

答案 2 :(得分:0)

对于评论整个功能没有任何约束力(据我所知)。我认为有几种方法可以实现这一点 - 例如,您可以将光标放在结束括号上,转到可视线模式,按%键(如果在新行中放置左括号,则选择其他行)然后使用例如\cc

当我想实现这一点时,我使用textobj-usertextobj-rubyblock(我目前主要使用Ruby编程)插件,这使我能够轻松地选择var的代码块并展开它与ar。这很不错,因为我不需要转到end关键字(在C中会关闭括号),但我选择整个函数而不从函数体中移动光标。我没有试过这个,但对你来说this plugin应该有效。这不是一个绑定的解决方案,但它也很快。我希望这对你有用。 :)