7

例如,而不是以下对齐:

std::cout << "Hello " << "Hello "
  << "world ";

我想左对齐<<运算符,如:

std::cout << "Hello " << " Hello "
          << "world ";

默认情况下,Vim 选择第一个。看起来它只是将新行的缩进增加了一级。

那么,有什么方法可以让我默认获得第二个对齐?

PS 我已经尝试过Align插件,但是它可以对齐表格中的区域,例如:

std::cout << "Hello World" << "Hello "
          << "World"       << "World Hello".

我认为太稀疏了。

4

2 回答 2

4

我正在使用表格,这对我有用

:Tabularize /^[^<<]\S*


输出:

std::cout << "Hello World" << "Hello "
          << "world " << "World Hello";

解释

^<<第一个<<开始,然后比赛将从第一个开始<<

于 2011-09-15T05:32:05.470 回答
1

使用Align插件,用于以您想要的方式对齐选定文本行的命令是:<,>Align! l: <<. 第一个参数是一个 AlignCtrl 命令,它告诉它左对齐第一个字段并将该行的其余部分视为单个字段。第二个参数是分隔符。Align 手册解释了所有可用的参数和预定义的映射。

于 2011-09-15T05:58:53.103 回答