如何左对齐 IO 流运算符 <<和>>在维姆?

发布于 2024-12-04 13:19:04 字数 610 浏览 2 评论 0 原文

例如,不要遵循以下对齐方式:

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

我想要左对齐 << 运算符,如下所示:

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

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

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

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

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

我认为太稀疏了。

For example, instead of following alignment:

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

I want left-align the << operator, as:

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

By default, Vim chooses the first one. Looks like it just increases the indentation by one level for the new line.

So, is there any way that I can get the second alignment by default?

P.S. I already tried the Align plugin, but it aligns the region in a table, like:

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

which I consider too sparse.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

花开浅夏 2024-12-11 13:19:04

我正在使用 Tabular 这对我有用

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

输出:

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

< strong>解释

^ 开始后跟 << 直到第一个 <<,然后匹配正好从第一个开始<代码><<

I'm using Tabular and this works for me

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

Output:

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

Explanation

^ Beginning followed by << up to the to first <<, then the match will start exactly at the first <<.

夏末的微笑 2024-12-11 13:19:04

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

With the Align plugin, the command for aligning selected lines of text the way you want is :<,>Align! l: <<. The first argument is an AlignCtrl Command that tells it to left-align the first field and treat the rest of the line as a single field. The second argument is the separator. The Align manual explains all of the available arguments and pre-defined mappings.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文