Vim代码缩进设置

来源:[http://linux-wiki.cn/wiki/zh-hans/Vim%E4%BB%A3%E7%A0%81%E7%BC%A9%E8%BF%9B%E8%AE%BE%E7%BD%AE | Vim代码缩进设置]

编程时代码缩进是相当必要的,使用Vim处理代码缩进并不困难,只要了解一些参数就可灵活运用。

常用设置

缩进设置最常用的是:

 :filetype indent on 

它将开启针对文件具体类型的缩进。

下面的选项需要在命令模式下用''set''设置的选项的含义。使用方法如:

set ci       # 开启cindent
set noet     # 关闭expandtab
set sw=4     # shiftwidth=4

与自动缩进相关的变量表

变量名 缩写 含义
(no)autoindent ai 自动缩进,即为新行自动添加与当前行同等的缩进。
(no)cindent ci 类似C语言程序的缩进
(no)smartindent si 基于autoindent的一些改进

与TAB相关的变量表

变量名 缩写 含义
tabstop=X ts 编辑时一个TAB字符占多少个空格的位置。
shiftwidth=X sw 使用每层缩进的空格数。
(no)expandtab (no)et 是否将输入的TAB自动展开成空格。开启后要输入TAB,需要Ctrl-V<TAB>
softtabstop=X sts 方便在开启了et后使用退格(backspace)键,每次退格将删除X个空格
(no)smarttab (no)st 开启时,在行首按TAB将加入sw个空格,否则加入ts个空格。

设置样例

灵活使用上面的选项,就可以很好地调整缩进设置。

可以将下述设置加入到''~/.vimrc''中:

set sw=4
set ts=4
filetype indent on
autocmd FileType python setlocal et sta sw=4 sts=4

前面两行将shiftwidth和tabstop都设为4。第三行开启自动的缩进检测。最后一行则根据Python语言的建议(将tab展成四个空格)进行了专门设置。