俗話說,“工欲善其事,必先利其器“,好的開發工具可以幫我們大大地提高開發效率。用vim在linux下寫C++有一段時間了,這裡想把自己正在用的一些vim外掛程式和大家分享一下
1. Alternate (http://www.vim.org/scripts/script.php?script_id=31)
在對應的標頭檔和代碼檔案中快速地切換
安裝:
(1) 下載a.vim到~/.vim/plugin目錄,alternate.txt到~/.vim/doc目錄
(2) 進入vim,執行:helptags ~/.vim/doc/ (註:Ubuntu8.10內建的vim不支援helptags命令,需要重新sudo apt-get install vim)
常用命令:
(1):A 在.h和.cpp檔案間切換
(2):AS 縱向切分.h和.cpp檔案
(3):AV 橫向切分.h和.cpp檔案
(4):AT 在新Tab中開啟對應的.h或.cpp檔案
2. OmniCppComplete (http://www.vim.org/scripts/script.php?script_id=1520)
自動補全
安裝:
(1) 下載最新的omnicppcomplete zip檔案到~/.vim目錄
(2) 進入vim,執行:helptags ~/.vim/doc/
(3) 然後執行:h omnicppcomplete,參考installation裡的步驟繼續安裝
(a) 在~/.vimrc檔案中加入:set nocp和filetype plugin on
(b) 在~/.vimrc檔案中加入一行:map <C-F12> :!ctags -R --c++-kinds=+p --fields=+iaS --extra=+q .<CR>,這樣只要在vim中按下Ctrl+F12,就能產生目前的目錄以及子目錄下所有C/C++程式的ctags資料庫(在目前的目錄下生 成一個名為tags的檔案)
(c) omnicppcomplete會自動尋找目前的目錄下的tags檔案,如果想尋找其他目錄下的tags檔案(比如/opt/ACE_wrappers/tags),可以在~/.vimrc檔案中加入
set tags+=/opt/ACE_wrappers/tags
常用命令:
(1) 輸入.或->或<C-X><C-O>時會自動彈出可能的補全選項(可以用上下箭頭選擇)
(2) 輸入<C-N>自動補全
3. ctags
前面omnicppcomplete用到了ctags,其實ctags還有很多功能。最方便的功能是把游標定位在某個變數 或函數,按下Ctrl+],這樣vim就能直接跳到這個變數或函數定義的源檔案中,Ctrl+T是Ctrl+]的反操作,可以退回原來的地方,我們可以連 續按N次Ctrl+]尋找變數或函數,然後再按N次Ctrl+T返回開始的地方
4. Supretab (http://www.vim.org/scripts/script.php?script_id=1643)
按下tab鍵完成insert completion (:help ins-completion),與omnicppcomplete配合使用,效果更佳
安裝:下載supertab.vim到~/.vim/plugin目錄下
5. csupport (http://www.vim.org/scripts/script.php?script_id=213)
這個外掛程式用得還不是很熟,總體感覺很好很強大,很多功能有待好好挖掘
安裝:
(1) 下載cvim.zip到~/.vim目錄,unzip
(2) 閱讀README.csupport,需要進行的修改主要包括
(a) 修改c-support/templates/Templates
(b) 修改c-support/templates目錄下的c.*.template檔案中的代碼風格
(c) 修改~/.vimrc檔案,加入filetype plugin on
(d) a)進入vim,執行:helptags ~/.vim/doc/
(3) :h csupport-vim-usage獲得協助