我刚开始在Vim。我喜欢的一个功能是>>和<<用于缩进/取消紧接行而无需将光标放在行的开头。我使用3的shiftwidth,扩展到空格。
我的问题是,当使用>>或<<有没有办法让这条线“捕捉”到最近的“完美”缩进?即对我而言,这将是第四列,第七列,第十列,依此类推。这对于深度嵌套的缩进级别来说非常方便。
或者(尽管稍微不满意/不太理想):从一行的开头删除所有空格的方法,然后我可以使用>>多次。
答案 0 :(得分:5)
shiftround
选项将四舍五入到最接近的shiftwidth
空格。
答案 1 :(得分:0)
Vim具有自动缩进模式。对于一个答案来说,这是一个有点大的话题,但:help autoindent
可能是一个好的开始。
此外,==
命令将根据前面的行和当前缩进模式的行为缩进当前行。 (这会将=
过滤器应用于当前行。)
我通常先将==
应用于一行,然后将其“校准”为参考缩进,然后从>>
和<<
进行操作。
或者,在多行上:视觉选择,然后=
。