在Vim中“Snappy”缩进?

时间:2014-03-04 02:58:41

标签: vim indentation

我刚开始在Vim。我喜欢的一个功能是>>和<<用于缩进/取消紧接行而无需将光标放在行的开头。我使用3的shiftwidth,扩展到空格。

我的问题是,当使用>>或<<有没有办法让这条线“捕捉”到最近的“完美”缩进?即对我而言,这将是第四列,第七列,第十列,依此类推。这对于深度嵌套的缩进级别来说非常方便。

或者(尽管稍微不满意/不太理想):从一行的开头删除所有空格的方法,然后我可以使用>>多次。

2 个答案:

答案 0 :(得分:5)

shiftround选项将四舍五入到最接近的shiftwidth空格。

答案 1 :(得分:0)

Vim具有自动缩进模式。对于一个答案来说,这是一个有点大的话题,但:help autoindent可能是一个好的开始。

此外,==命令将根据前面的行和当前缩进模式的行为缩进当前行。 (这会将=过滤器应用于当前行。)

我通常先将==应用于一行,然后将其“校准”为参考缩进,然后从>><<进行操作。

或者,在多行上:视觉选择,然后=