如果您對於vim的plugin安裝有問題,請參考上一篇。如果對於基礎的vim不熟,請參考鳥哥。
上一篇已經有提到SnipMate、The-NERD-tree,taglist這三個必裝的plugin,所以這邊就不多介紹了,當中的taglist,大家可以改安裝Tagbar,因為我發現taglist對直譯式的語言(如python)支援度不好。
AutoComplPop
AutoComplPop是一個會自動幫你補齊的plugin,當你在輸入電腦路徑或是輸入字時,會自動尋找補齊,有點像google在搜尋時的功能。
EasyMotion
EasyMotion是一個可以快速跳躍到你想要的段落plugin,EasyMotion就會把第一個字取代成英文a-z,你可以輸入英文,選擇你要跳躍的地方。
因為內建的熱鍵會跟其他衝突,所以我先在.vimrc修改熱鍵
let g:EasyMotion_leader_key = '\'
啟動方法是先按兩次熱鍵,接著按下 w,就會啟動EasyMotion
網路上很多人推薦,不過我很少用他,還是寫給需要的人看
這算是個比較小品的plugin,做的事很簡單,因為寫程式常常需要用當括號,所以當你輸入左半邊的括號,譬如{,他會自動幫你補成{},雖然簡單,但很實用,可以減少bug形成。
Syntastic會自動幫你檢查語法錯誤,目前支援大部分的主流語言(php、java等),安裝完後要手動打開,在.vimrc中加入
let g:syntastic_check_on_open = 1
然後寫完程式之後按儲存(:w),就會顯示出錯誤的地方,底下會顯示錯誤的原因
一個會像eclipse一樣,顯示函式庫的plugin,安裝完後要在.vimrc中加入
setlocal omnifunc=javacomplete#Complete
註:上面的#Complete不是註解,請不要亂刪,不然會像我一樣,花好幾天裝不起來
預設是按熱鍵補齊,不過如果想要像eclipse一樣,在關鍵字後加入.就會顯示,可以加入這行
python用的補齊plugin,預設補齊鍵是TAB,因為熱鍵會跟SnipMate相衝,所以建議用Ctrl+n來補齊,裝好之後需要在.vimrc中加入路徑
let g:pydiction_location = '/home/ben/.vim/bundle/Pydiction/complete-dict'
註:上面的路徑每個人都不太一樣,要注意一下
Django是python的web framework,但pydction預設是不支援Django,這時候只要把Django匯入進來就好(前題是你python有匯入Django)
cd /usr/local/lib/python2.6/dist-packages
find django -type d > /var/tmp/django_pkgs.sh
vim /var/tmp/django_pkgs.sh
在vim中輸入
:%s!/!.!g
:%s/\n/ /
接著修改django_pkgs.sh
第1行:export DJANGO_SETTINGS_MODULE=settings
第2行:export PYTHONPATH='django project中有setting.py的路徑'
第3行:加入 python ./pydiction.py 看起來會像這樣
python ./pydiction.py django django.contrib django.contrib.redirects ......
跳出vim 執行sh django_pkgs.sh
熱鍵補齊: Ctrl+n
find django -type d > /var/tmp/django_pkgs.sh
vim /var/tmp/django_pkgs.sh
在vim中輸入
:%s!/!.!g
:%s/\n/ /
接著修改django_pkgs.sh
第1行:export DJANGO_SETTINGS_MODULE=settings
第2行:export PYTHONPATH='django project中有setting.py的路徑'
第3行:加入 python ./pydiction.py 看起來會像這樣
python ./pydiction.py django django.contrib django.contrib.redirects ......
跳出vim 執行sh django_pkgs.sh
熱鍵補齊: Ctrl+n
跟Syntastic功能一樣,但只檢查python語法,Syntastic本身也有檢查python的功能,只是我習慣寫python時用這套
有時候需要寫網頁,這個工具可以幫你補齊網頁的標籤
當你輸入html或body之後按,會自動幫你補成對齊的標籤
程式碼折疊
vim本身有支援程式碼折疊,只要在.vimrc中加入
"folding
set foldenable
set foldmethod=syntax
set foldcolumn=0
nnoremap @=((foldclosed(line('.')) < 0) ? 'zc' : 'zo')
就可以使用空白鍵來折疊程式碼
Compile
當寫好程式,需要compile時,常常都要跳出vim蠻麻煩的,所以可以把compile的動作寫入.vimrc,設定熱鍵,以後只要按下F5就可以依照不同的檔案類型去compile,察看結果
這邊只列出我可能會用到的,有需要的人自己再加
其他
有些人可能還會用到SQL語法之類的,可以考慮SQLComplete.vim的plugin,不過我還沒試過,有興趣的可以安裝看看
vim還有很多用途,譬如我有時候會寫英文,可以用vim來做查單字驗證之類的,不過這跟程式比較沒有關,有空再來寫另一篇
感想
我覺得vim很符合computer science一句名言-「smaller is faster」,只需要一個micro kernel,當有需要擴充時,才去動態鏈結模組進來,大家可以先忘掉那肥大的IDE,來試看看輕巧又強大的VIM.
沒有留言:
張貼留言