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

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


当前回答

1 G = G。这应该会缩进文件中的所有行。1G表示第一行,=表示自动缩进,最后一个G表示文件的最后一行。

其他回答

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

[[=]]

:设置粘贴是你的朋友,我使用putty,最终在窗口之间复制代码。在我开始使用:set paste(和:set nopaste)之前,复制/粘贴正是因为这个原因让我感到不适。

对于XML文件,我使用这个命令

:1,$!xmllint --format --recover - 2>/dev/null

你需要安装xmllint(包libxml2-utils)

(来源:http://ku1ik.com/2011/09/08/formatting-xml-in-vim-with-indent-command.html)

只需在vim中进入可视模式,选择后按=,从上到下选择行,所有选中的行将被缩进。

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