它应该很小,甚至可能在帮助中,但我不知道如何导航它。如何在vi中快速缩进多行?
当前回答
:左侧帮助
在ex模式下,可以使用:left或:le将线条对齐指定的数量。具体来说,:left将左对齐[范围]中的行。它将行中的缩进设置为[缩进](默认值为0)。
:%le3或:%le 3或:%left3或:%left 3将通过填充三个空格来对齐整个文件。
:5,7 le 3将通过用三个空格填充第5行到第7行来对齐它们。
:le没有任何值,或:le 0将左对齐,填充值为0。
这在Vim和gVim中都有效。
其他回答
一个很大的选择是:
gg=G
它真的很快,所有东西都会缩进;-)
对于C缩进缩进,也可以尝试此操作。Do:help=了解更多信息:
={
这将自动缩进当前代码块。
或者只是:
==
自动缩进当前行。
:左侧帮助
在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>更容易。
可以使用norm i命令在行的开头插入给定的文本。要在第2-10行前插入10个空格:
:2,10norm 10i
请记住,命令末尾必须有一个空格字符——这将是我们想要插入的字符。我们还可以用任何其他文本缩进一行,例如用五个下划线字符缩进文件中的每一行:
:%norm 5i_
或者更花哨的东西:
:%norm 2i[ ]
更实际的例子是用#字符注释Bash/Python/etc代码:
:1,20norm i#
要重新缩进,请使用x而不是i。例如,要从每行中删除前5个字符:
:%norm 5x