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