缩进用 tab 制表符还是空格,这不是个问题,就像 Python 用四个空格来缩进一样,这是要看个人喜好的。在 Vim 中可以很方便的根据不同的文件类型来设置使用 tab 制表符或者空格,还可以设置长度,非常灵活。
首先来看如何设定 tab 的宽度以及如何确定用 tab 制表符还是空格来表示一个缩进:
set tabstop=4 set softtabstop=4 set shiftwidth=4 set noexpandtab / expandtab
说明:
其中tabstop
表示一个 tab 显示出来是多少个空格的长度,默认 8。
softtabstop
表示在编辑模式的时候按退格键的时候退回缩进的长度,当使用expandtab
时特别有用。
shiftwidth表示每一级缩进的长度,一般设置成跟softtabstop
一样。
当设置成expandtab
时,缩进用空格来表示,noexpandtab
则是用制表符表示一个缩进。
根据文件类型来设置 tab:
有些时候想为某些类型的文件设置不同的 tab 表现,如 python 用四个空格来表示一个缩进,在我们的 javascript 约定中也是用四个空格来表示缩进,而 HTML 和 CSS 则喜欢用 tab 制表符来缩进,那么可以做如下设置:
if has("autocmd") autocmd FileType javascript setlocal ts=4 sts=4 sw=4 expandtab autocmd FileType python setlocal ts=4 expandtab endif
这样当开打的文件是.js .py
的,都会用四个空格来缩进。
用特殊符号来表示 tab 制表符:
在 Vim 中可以用特殊的符号来表示一个 tab 制表符,这样 tab 制表符和空格就可以很容易的区分看来了,如下图:
在 vimrc 中加入就可以了:
set list
set listchars=tab:▸\,eol:¬
把VIM打造成一个简单实用的IDEhttp://www.linuxidc.com/Linux/2011-06/37032.htm