在Vim中,纠正所有行缩进的命令是什么?
通常情况下,我将代码复制并粘贴到远程终端,然后把整个事情搞砸了。我想一下子解决这个问题。
在Vim中,纠正所有行缩进的命令是什么?
通常情况下,我将代码复制并粘贴到远程终端,然后把整个事情搞砸了。我想一下子解决这个问题。
当前回答
:设置粘贴是你的朋友,我使用putty,最终在窗口之间复制代码。在我开始使用:set paste(和:set nopaste)之前,复制/粘贴正是因为这个原因让我感到不适。
其他回答
1 G = G。这应该会缩进文件中的所有行。1G表示第一行,=表示自动缩进,最后一个G表示文件的最后一行。
=时,indent命令可以进行动作。gg表示文件的开始,=表示缩进,G表示文件的结尾,gg=G。
你可以使用整洁的应用程序/实用程序来缩进HTML和XML文件,它在缩进这些文件时工作得很好。
修饰XML文件
:!tidy -mi -xml %
修饰HTML文件
:!tidy -mi -html %
在粘贴到终端之前,尝试:set paste,然后在完成后:set nopaste。这将关闭自动缩进,换行和其他功能,使您的粘贴一团糟。
编辑:另外,我应该指出,使用外部程序通常可以获得比=缩进更好的结果。例如,我运行:%!一直都很整洁。也可以用style, cindent等。当然,你可以将这些映射到一个击键,并根据文件类型将不同的映射到相同的击键。
对于vi编辑器,使用:insert。这将保持所有的格式,而不是插入自动缩进。一旦完成,按转义查看实际格式化的文件,否则你会看到一些垃圾字符。^我 例句:
public static void main(String[] args) {
^I
^I System.out.println("Some Garbage printed upon using :insert");
}