如果你有用過一些IDE(Integrated development environment,就是可以輔助編輯程式並compile的軟體),例如visual studio系列、dev c++,或者eclipse,那麼在寫程式的時候應該很熟析一個功能:當function或variable的名字太長,我們常常會打幾個字之後按下tab鍵(通常在Q的
右邊左邊),然後它就會幫我們自動完成,或是列出可選的清單。
vim其實也有自動完成的功能。你可以在vim中
:h ins-completion
查看相關操作。不過,看起來還滿複雜的。沒關係,vim的網站上有人提供了方便的plugin,可以簡單地按個tab就達到自動完成的功能。這個plugin叫做
supertab。底下就教你怎麼安裝這個plugin。
首先,要先下載supertab的檔案,還記得wget嗎?以寫本文的時間為例,目前supertab出到
0.48版,所以我們可以
% wget http://www.vim.org/scripts/download_script.php?src_id=9837
來下載,然後就可以在home directory底下發現supertab.vim的蹤跡囉!接下來要將他移到正確的位置才能發揮作用。vim的plugin都是放在.vim/plugin/資料夾底下的,首先先用ls檢查看看.vim/plugin在不在,不存在的話就用mkdir建立,然後再將supertab.vim mv進去。
% ls .vim/plugin
% mkdir -p .vim/plugin
% mv supertab.vim .vim/plugin/
這樣就安裝完成啦!!很簡單吧! 趕快來測試看看吧。首先我們來寫一個簡單的程式:
int main()
{
int thisIsVarWithLongName = 0;
return 0;
}
接下來,當我們要對thisIsVarWithLongName做運算時,你可以打thisIs然後開心地按下tab鍵,你就會發現它自動幫你完成了!! 如果有超過兩個字是thisIs開頭的話,他還會有清單列出來讓你可以上下選咧!只要移動上下鍵或是繼續按tab鍵就可以選擇啦。
如果選單的顏色不喜歡的話,可以把底下貼進你的~/.vimrc,就可以改變選單的顏色啦。("開頭表示被註解掉)
"hi Pmenu term=standout cterm=reverse ctermfg=Magenta
hi PmenuSel term=bold cterm=bold ctermfg=Blue ctermbg=White
"hi PmenuSbar term=standout cterm=bold ctermfg=White ctermbg=White
hi PmenuThumb term=bold cterm=bold ctermbg=Blue
怎麼加阿... 用vim加囉,我必須承認我自己提供的這組配色也很難看,不過算是給個範例,大家可以自己嘗試其他的配色,找到自己順眼的。
其實關於自動完成,還有更好用的套件,叫做
OmniCppComplete,在我拖稿到介紹這個東西如何安裝使用前,不妨自己先玩玩看它吧 :)