首先来看如何设定 tab 的宽度以及如何确定用 tab 制表符还是空格来表示一个缩进:
set
tabstop=
4
set softtabstop= 4
set shiftwidth= 4
set noexpandtab / expandtab
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 sts= 4 sw= 4 expandtab
endif
autocmd FileType javascript setlocal ts= 4 sts= 4 sw= 4 expandtab
autocmd FileType python setlocal ts= 4 sts= 4 sw= 4 expandtab
endif
这样当开打的文件是 .js
.py
的,都会用四个空格来缩进。
用特殊符号来表示 tab 制表符:
在 Vim 中可以用特殊的符号来表示一个 tab 制表符,这样 tab 制表符和空格就可以很容易的区分看来了,如下图:
在 vimrc 中加入就可以了:
set
list
set listchars=tab :▸\ , eol :¬
set listchars=tab :▸\ , eol :¬