vim tab setting
-
平常都用 tab 縮排,但螢幕不夠寬,用正常的印刷符號 寬度,根本縮不到幾次,程式也顯得很不容易看。但更改 寬度可能會造成列印結果與編輯時不同,因此需要在不更動
寬度的情況下,讓縮排不要縮這麼多。
- tabstop=8
一個 寬度是多少 ,印刷符號中是 8 個 ,最好不要改。 - shiftwidth=4
vim 的縮排一次縮幾個 ,通常跟 tabstop 一樣就好,若設不一樣的話,需要設一下
softtabstop 跟
expandtab 讓顯示比較一致。 - softtabstop=4
當 tabstop 跟 shiftwidth 不同時,會出現一種詭譎的情況,有些人除了使用
> 縮排以及自動縮排外,會直接在 insert
mode 用 tab 縮排,但此時因上兩者不同,tab 插入的 與 vim 的縮排寬度不同,用起來非常彆扭。
當此值被設定時,按 tab 不會直接插入 ,而是根據 tabstop 來換算需要的 與 。
例如 tabstop=8 、 softtabstop=12,那麼當 tab 會插入一個 與 4 個 。
此 設定有累積效果,只要 數量與 tabstop 相等時, vim 會再次將其換成 。舉例來說,tabstop=8、softtabstop=4,一次 tab 插入 4 個
,再按一次會將插入的
4 個 與之前的 4 個 合成一個 。 - expandtab
就算有 softtabstop 解決縮排寬度與 的問題,但還是有潛在性的危險,因為使用了
softtabstop 會使縮排中
與
混雜出現,此時的
若與當初編輯者的
tabstop 不同,理所當然排版就會亂掉。設定此值可以將
強制都轉成對應的
數。
- Modeline
簡單的說就是把一些設定放在檔案裡,就不用帶著
vimrc 到處跑,也避免在別人的電腦上因為設定不同寫起來彆扭甚至排版亂掉。
set modeline "啟用此功能,放在 vimrc 或是在編輯中輸入皆可
set modelnes=5 "預設就是 5,讀取幾行設定。
支援兩種格式,有效的設定部分都是由
vim: 後開始,前面其實是用來將此行在不同的語言中變成註解,避免影響到編譯,不然加了就編不過就一點用都沒有了
XD
- [text]{white}{vi:|vim:|ex:}[white]{options}
option 之間可以用空白或
: 分隔
Ex: in c/c++ code
// vim:tabstop=8 softtabstop=4:shiftwidth=4
expandtab - [text]{white}{vi:|vim:|ex:}[white]se[t]
{options}:[text]
option 只能用空白分隔,且最後一個參數要加上 : 結尾,: 之後會被忽視
Ex: in C/C++ code
/* vim:set tabstop=8 softtabstop=4 shiftwidth=4 expandtab: */
阅读(1486) | 评论(0) | 转发(0) |