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展成四个空格)进行了专门设置。