它应该很小,甚至可能在帮助中,但我不知道如何导航它。如何在vi中快速缩进多行?


当前回答

:左侧帮助

在ex模式下,可以使用:left或:le将线条对齐指定的数量。具体来说,:left将左对齐[范围]中的行。它将行中的缩进设置为[缩进](默认值为0)。

:%le3或:%le 3或:%left3或:%left 3将通过填充三个空格来对齐整个文件。

:5,7 le 3将通过用三个空格填充第5行到第7行来对齐它们。

:le没有任何值,或:le 0将左对齐,填充值为0。

这在Vim和gVim中都有效。

其他回答

除了已经给出并接受的答案外,还可以放置标记,然后将当前光标到标记的所有内容缩进。

因此,在需要缩进块顶部的位置输入ma,将光标向下移动到需要的位置,然后键入>‘a(注意,“a”可以替代任何有效的标记名)。这有时比5>>或vjjj>更容易。

使用>命令。要缩进五行,请5>>。要标记一个行块并缩进它,Vjj>缩进三行(仅限Vim)。要缩进大括号块,请将光标放在其中一个大括号上,然后使用>%或从块内的任何位置使用>iB。

如果要复制周围的文本块,并且需要在新位置对齐块的缩进,请使用]p而不是p。这会将粘贴的块与周围的文本对齐。

此外,shiftwidth设置允许您控制缩进多少空格。

>}或>{从当前行缩进到下一段

<}或<{相同的取消缩进

:line_num_start,line_num_end>

例如

14,21> shifts line number 14 to 21 to one tab

增加更多选项卡的“>”符号。

例如

14,21>>> for three tabs

对于C缩进缩进,也可以尝试此操作。Do:help=了解更多信息:

={

这将自动缩进当前代码块。

或者只是:

==

自动缩进当前行。