在Vim中,纠正所有行缩进的命令是什么?

通常情况下,我将代码复制并粘贴到远程终端,然后把整个事情搞砸了。我想一下子解决这个问题。


当前回答

所有命令的主人是

gg=G

这将缩进整个文件!

下面是一些简单而优雅的命令,用于在Vim或gVim中快速缩进行。

缩进当前行以下的所有行

=G

缩进当前行

==

将当前行下缩进n行

n==

例如,将当前行缩进4行

4==

若要缩进代码块,请转到其中一个花括号并使用命令

=%

其他回答

=时,indent命令可以进行动作。gg表示文件的开始,=表示缩进,G表示文件的结尾,gg=G。

按escape键,然后快速输入以下组合:

gg=G

vim-autoformat使用特定于你的语言的外部程序格式化你的源文件,例如Ruby文件的"rbeautify" gem, JavaScript文件的"js-beautify" npm包。

对于复杂的c++文件,当使用vim的= filter命令时,vim并不总是能得到正确的格式。因此,对于这种情况,最好使用外部c++格式化程序,如style(或uncrustify),例如:

:%!astyle

Vim的'='函数默认使用内部格式化器(这并不总是正确的),但也可以使用外部格式化器设置它,如style,通过在这个问题中讨论的适当设置。

如果你想重新缩进你所在的块,而不需要输入任何和弦,你可以这样做:

[[=]]