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


当前回答

:左侧帮助

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

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

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

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

这在Vim和gVim中都有效。

其他回答

假设您使用2个空格缩进代码。类型:

:set shiftwidth=2

键入v(进入视觉块编辑模式)使用箭头键(或使用h/j/k/l)移动光标以高亮显示要缩进或不缩进的行。

然后:

键入>以缩进一次(2个空格)。键入2>以缩进两次(4个空格)。键入3>以缩进三次(6个空格)。...键入<以取消缩进一次(2个空格)。类型2<取消缩进两次(4个空格)。类型3<至无凹痕三次(6个空格)。...

你明白了。

(空行不会缩进,我觉得这有点不错。)


我在(g)vim文档中找到了缩进块的答案:

:help visual-block
/indent

如果要给命令计数,请在键入之前执行此操作运算符字符:“v{movearound}3>”(将第3行缩进到右侧)。

:左侧帮助

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

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

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

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

这在Vim和gVim中都有效。

更多视觉人的按键:

进入命令模式:逃跑移动到要缩进的区域的开头:hjkl公司↑↓←→启动块:v移动到要缩进的区域末端:hjkl公司↑↓←→(可选)键入所需的缩进级别数0..9在块上执行缩进:>

5==将从当前光标位置缩进五行。

因此,您可以在==之前键入任何数字。它将缩进行数。这是命令模式。

=G将从上到下缩进整个文件。

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

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