如何在Vim中左对齐IO流操作符<<和>>?

Fan*_*Fan 7 vim iostream indentation auto-indent

例如,而不是跟随对齐:

std::cout << "Hello " << "Hello "
  << "world ";
Run Code Online (Sandbox Code Playgroud)

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

std::cout << "Hello " << " Hello "
          << "world ";
Run Code Online (Sandbox Code Playgroud)

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

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

PS我已经尝试过Align插件,但它在表格中对齐区域,如:

std::cout << "Hello World" << "Hello "
          << "World"       << "World Hello".
Run Code Online (Sandbox Code Playgroud)

我觉得太稀疏了.

Eri*_*tis 4

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

:Tabularize /^[^<<]\S*
Run Code Online (Sandbox Code Playgroud)


输出:

std::cout << "Hello World" << "Hello "
          << "world " << "World Hello";
Run Code Online (Sandbox Code Playgroud)

解释

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