文章轉自:http://blog.csdn.net/shell_picker/article/details/6033023
摘自 Vim 手冊:
選項:
1. tabstop:表示一個 tab 顯示出來是多少個空格,默認 8
2. softtabstop:在編輯的時候(比如按退格或 tab 鍵)一個 tab 是多少個空格(有點不好理解。。。我也沒完全弄明白)
3. expandtab/noexpandtab:將 tab 擴展/不擴展成空格
4. shiftwidth:每一級縮進是多少個空格
5. smarttab:根據文件中其他地方的縮進空格個數來確定一個 tab 是多少個空格
命令:
:[range]retab [new_tabstop]:應用新的 tabstop 值,替換所有的 tab,如果設置了expandtab,還會把文件中 tab 都替換成空格。
幾種常見用法:
1. 保留 tab。讓 tabstop 保持默認,將 softtabstop 和 shiftwidth 設為 4,並設置 noexpandtab。這樣文件中本來有 tab 的話會保留,新增的縮進處也會使用 tab。
2. 全部用空格。將 tabstop 和 shiftwidth 設置成相同的值,如 4,並設置 expandtab。這樣新增的縮進會用空格,你按下 tab 鍵,出來的也全是空格。如果文件里本來就有 tab 的話,可以再用一次 :retab 命令,將所有 tab 擴展成空格,這樣就完美了。
我一般在 .vimrc 中這樣設置:
"設置tab縮進 set smarttab set tabstop=4 set shiftwidth=4 set expandtab