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

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


当前回答

所有命令的主人是

gg=G

这将缩进整个文件!

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

缩进当前行以下的所有行

=G

缩进当前行

==

将当前行下缩进n行

n==

例如,将当前行缩进4行

4==

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

=%

其他回答

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

gg=G

您可以创建一个映射来完成这个任务。

这将自动缩进整个文件,仍然保持你的光标在你的位置:

nmap <leader>ai mzgg=G`z

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

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

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

修饰XML文件

:!tidy -mi -xml %

修饰HTML文件

:!tidy -mi -html %