在 Vim 中設置 Tab

原文:http://www.imkeke.net/vim-2/vim-tab-config.html

縮進用 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 javascriptsetlocal ts=4sts=4 sw=4expandtab
    autocmd FileType python setlocal ts=4 sts=4 sw=4expandtab
endif

這樣當開打的文件是 .js.py 的,都會用四個空格來縮進。

用特殊符號來表示 tab 製表符:

在 Vim 中可以用特殊的符號來表示一個 tab 製表符,這樣 tab 製表符和空格就可以很容易的區分看來了,如下圖:

vim tab

在 vimrc 中加入就可以了:

set list
set listchars=tab:▸\ ,eol:¬

另一篇不錯的文章:http://www.freetstar.com/vim-tabs-and-spaces



發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章