在Vim中,纠正所有行缩进的命令是什么?
通常情况下,我将代码复制并粘贴到远程终端,然后把整个事情搞砸了。我想一下子解决这个问题。
在Vim中,纠正所有行缩进的命令是什么?
通常情况下,我将代码复制并粘贴到远程终端,然后把整个事情搞砸了。我想一下子解决这个问题。
当前回答
按escape键,然后快速输入以下组合:
gg=G
其他回答
你可以使用整洁的应用程序/实用程序来缩进HTML和XML文件,它在缩进这些文件时工作得很好。
修饰XML文件
:!tidy -mi -xml %
修饰HTML文件
:!tidy -mi -html %
只需在vim中进入可视模式,选择后按=,从上到下选择行,所有选中的行将被缩进。
:设置粘贴是你的朋友,我使用putty,最终在窗口之间复制代码。在我开始使用:set paste(和:set nopaste)之前,复制/粘贴正是因为这个原因让我感到不适。
您可以创建一个映射来完成这个任务。
这将自动缩进整个文件,仍然保持你的光标在你的位置:
nmap <leader>ai mzgg=G`z
对于复杂的c++文件,当使用vim的= filter命令时,vim并不总是能得到正确的格式。因此,对于这种情况,最好使用外部c++格式化程序,如style(或uncrustify),例如:
:%!astyle
Vim的'='函数默认使用内部格式化器(这并不总是正确的),但也可以使用外部格式化器设置它,如style,通过在这个问题中讨论的适当设置。