在vim中自动缩进包含损坏缩进的代码

时间:2011-01-05 09:48:23

标签: vim indentation

我正在使用CMS,其中代码的缩进是一团糟。是否可以使用vim自动修复它,运行一些命令?

2 个答案:

答案 0 :(得分:9)

通常,您可以使用=操作进行缩进。

请参阅:help =

(您还需要在vimrc中使用filetype indent on为您要编辑的每种类型的文件启用不同的缩进规则。

gg=G将重新整理整个文件。 (gg移动到文件的开头,=将重新启动运动中的每一行,G转到文件的末尾)

默认情况下,Vim支持C语言和C语言。有关选项,请参阅:help C-indenting。在重新格式化文件之前,您可能需要调整这些选项。如果要使用由set cindent控制的“智能”缩进,则必须在.vimrc中定义cinoptions

有关其他语言,请参阅:help indent-expression

此外,如果您想使用空格或制表符进行缩进,则可能需要使用shiftwidthexpandtabtabstop选项。

例如,如果要将所有制表符替换为4个空格,则必须使用:

set shiftwidth=4             " used by >>, << and tab.  
set tabstop=4                " number of space characters used when displaying TAB  
set expandtab                " replace TAB by spaces  

答案 1 :(得分:1)

我通常使用ggVG=执行此操作。 gg =转到文件开始,V =标记行,G =转到文件结束,= =缩进。

也许这不是最少的击键次数,但我认为这很容易记住。