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

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


当前回答

对于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-autoformat使用特定于你的语言的外部程序格式化你的源文件,例如Ruby文件的"rbeautify" gem, JavaScript文件的"js-beautify" npm包。

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

[[=]]

如果你不想使用:设置粘贴,中键单击,设置不粘贴,你也可以粘贴剪贴板的内容:

"*p
"+p

这样你就不用离开正常模式了。 如果您必须粘贴+或*取决于您如何选择文本,请参阅:help quoteplus。

你可以使用整洁的应用程序/实用程序来缩进HTML和XML文件,它在缩进这些文件时工作得很好。

修饰XML文件

:!tidy -mi -xml %

修饰HTML文件

:!tidy -mi -html %

对于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)