vim可以只扩展文本左侧的选项卡吗?

cha*_*aos 5 vim indentation options alignment

使用vim,expandtabs如果我在行的任何文本的左边,如果我在任何非空白字符的右边,我想有效地离开.(我想使用标签来缩进和空格以便对齐.)

可以这样做吗?

Mar*_*sen 5

是.使用Smart Tabs插件.

此脚本允许您使用常规选项卡设置作为行的开头,并将选项卡在其他任何位置展开为空格.这有效地将"缩进"与"对齐"区分开来.

<tab> 使用编辑器选项卡设置在行的开头插入选项卡(在第一个非空格字符之前),否则插入空格.

<BS> 使用编辑器选项卡设置删除选项卡或"扩展"选项卡ala smarttab

要使Vim对齐函数参数,请添加

set cindent
set cinoptions=(0,u0,U0
Run Code Online (Sandbox Code Playgroud)

.vimrc.该插件将对空白进行编码:

int f(int x,
......int y) {
--->return g(x,
--->.........y);
}
Run Code Online (Sandbox Code Playgroud)

这使得" x"和" y" 的对齐与制表符大小(tabstop)无关.