在vim中选择代码块

在vim中选择代码块

给出这样的代码:

588          while ($linecounter > 0) {
589             $token = " ";
590             while ($token != PHP_EOL) {
591                 if (fseek($handle, $pos, SEEK_END) == -1) {
592                     $beginning = true;
593                     break;
594                 }
595                 $token = fgetc($handle);
596                 $pos--;
597             }
598             $linecounter--;
599             if ($beginning) {
600                 rewind($handle);
601             }
602         }

光标位于=第 590 行的字符处。

这是选择代码块最有效的方法:

  1. 第 590-597 行
  2. 第 591-596 行(仅内部部分)

答案1

要做第一个:

  • 点击$即可转到该行的末尾{
  • vV(取决于您是否要选择行)
  • 按下%(跳转到匹配的括号)。

要仅选择内部部分,请进入内部部分并使用i{方向修改器。

例如,要删除当前{…}块内的所有内容,请键入:di{

答案2

  1. $跳转到您所在行的末尾(位于左大括号上方)
    v开始选择(V对于整行)
    %以跳转到匹配的大括号。

  2. j向下一行,使光标位于您尝试选择的大括号内
    v以开始选择(V对于整行)
    i{选择大括号内的所有内容

答案3

为了稍微扩展 Caleb 的答案,vi{将选择代码块的“内部”。要包含代码块的“外部”,即包含大括号,请使用va{

但这不包括该while节。为此,您可以使用o将光标移动到所选内容的开头,然后0将所选内容移动到行的开头。

相关内容