有办法做到这一点吗?我知道你可以做所有明显的事情,比如c和cs
但我不认为评论整个功能有约束力......
答案 0 :(得分:2)
从函数内部的任何位置执行:
va{,c<space>
当然,您可以将其映射到某些内容:
:map ,o va{,c<space>
所以在函数内按,o
会对其进行注释(如果已经注释,则取消注释)。
答案 1 :(得分:1)
这取决于功能的方式和位置。
public function test()
{
$name = "whatever";
$data = array(
'name' => $name
);
return $data;
}
public function test()
序列:
Vj%
V Start linewise visual mode
j Go down one line
% Go to matching closing bracket
$name = "whatever"
序列:
va{ok
v Start visual mode
a{ Arround bracket
o Exchange cursor from top to bottom of selection
k Go up one line
然后,照常评论,,c
,具体取决于您的书呆子评论者映射。
答案 2 :(得分:0)
对于评论整个功能没有任何约束力(据我所知)。我认为有几种方法可以实现这一点 - 例如,您可以将光标放在结束括号上,转到可视线模式,按%键(如果在新行中放置左括号,则选择其他行)然后使用例如\cc
。
当我想实现这一点时,我使用textobj-user和textobj-rubyblock(我目前主要使用Ruby编程)插件,这使我能够轻松地选择var
的代码块并展开它与ar
。这很不错,因为我不需要转到end
关键字(在C中会关闭括号),但我选择整个函数而不从函数体中移动光标。我没有试过这个,但对你来说this plugin应该有效。这不是一个绑定的解决方案,但它也很快。我希望这对你有用。 :)