多在windows上編程的童鞋可能習慣於感覺tab鍵爲4個空格的長度,不過在linux系統中通常默認設定tab鍵爲8個空格長度來顯示。事實上tab也確實是8個空格的長度。不過因爲習慣問題,某些童鞋仍是但願在linux上也感覺tab鍵爲4個空格長度的顯示,由於vi編輯器在linux上是那麼地衆所周知,因此下面就開始談如何設定vim編輯器對tab鍵的顯示長度問題。linux
關於vim對tab鍵的設定問題,我在網上也查過一些資料,不過大部分都解釋的不清楚,只是照着其設定的代碼copy一份到配置文件中,對每一行代碼具體所起的做用則不甚清楚,本篇章根據國外一篇文章對tab鍵設定的講述加之本身親自在centos7上進行不斷嘗試進行總結。編程
1 set tabstop=a
這句話是設置將一個\t等價爲a個空格。vim
1 set softtabstop=b
這句話是設置在插入(insert)模式下,按下一個tab鍵後所產生的空白長度爲b。windows
1 set expandtab
這句話的做用是將tab所佔的空白位用空格填充。centos
小結:編輯器
若是設置了expandtabcentos7
當按下tab鍵時,在源文件中會插入b個空格。spa
若是沒有設置expandtabcode
一、假設當a=3,b=8時(a<b),按下tab鍵要插入b=8個空白位,而一個\t等價於a=3個空格,因此就在源文件中插入兩個\t和兩個空格。blog
二、假設當a=8,b=3時(b>a),按下tab鍵要插入b=3個空白位,因爲一個\t等價於a=8個空格,因此不能插入\t,只能插入3個空格,可是連按3下tab鍵,應該插入9個空格,這時不會插入9個空格,而是插入一個\t和一個空格。
1 set shiftwidth=c
這句話是用來設置在編輯模式(vim進入後的默認模式)下使用(>>或<<)縮進代碼時所佔的空白位的長度。