一、auto.vim
節省時間的vim程式設計plugin,自動檢測你的目前代碼,無論是C/C++/Perl/Python/Ruby/Shell. 使用F2鍵或者快速敲擊mm,自動編譯執行,有錯誤繼續修改,無錯誤,則調試,另外特地添加了自動格式化代碼的簡單功能,使用标準的代碼排版,簡單實用,當然隻支援GNU/Linux作業系統。
下圖是網絡上找到的效果示範:
在 c, cpp, 或者 python,shell,perl 代碼中, 按F2 鍵或 "mm"可以編譯和調試
1.一般模式下
;; Exit without saving
,, Save and exit
2.插入模式下
;; return Normal mode
,, return Normal mode
mm return Normal mode
<Alt-j> Down
<Alt-k> Up
<Alt-h> Left
<Alt-l> Right
3.當你寫c, cpp ,... 代碼時, 該代碼會自動被格式化。
For example: If you input a==3;
auto.vim a == 3;
http://www.vim.org/scripts/script.php?script_id=3341
二、code_complete
一大神器。
利用Ctags生成tags檔案(在代碼目錄下運作,遞歸解析目前檔案夾),代碼如下:
ctags -R --c++-kinds=+p --fields=+iaS --extra=+q --language-force=C++
将生成的tags檔案名改成xxx_tags,拷貝至~/.vim/tags目錄中,在~/.vimrc中加入如下代碼:
set tags+=~/.vim/tags/xxx_tags
官網示範版效果示範圖:
http://www.vim.org/scripts/script.php?script_id=1764
民間大神示範圖:
注釋
code_complete插件提供兩種風格的注釋,一種是形式的标準C語言注釋,而另一種是形式的Doxygen風格的用于在一行後進行注釋的文檔注釋(此插件沒有提供自動生成函數文檔注釋的功能,此功能可以使用更專業的插件DoxygenToolkit.vim來實作)。
預處理指令
頭檔案包含
C語言邏輯結構
主函數
namespace
函數參數補全
插件局限性
通過上面的示範,我們發現了此款插件的一些局限性:
- 自動補全的代碼風格跟我們使用的不同(上面的例子已經改為我自己代碼風格)。
- if else結構、switch結構的分支無法手動指定;
- 使用者自定義函數時,沒有函數模闆可以使用;
插件的擴充可以參考:http://123304258.blog.163.com/blog/static/1235470201211454121724/
經過擴充以後除了stl,cpp函數庫等等的補全,很多補全都有啦。
用法:ife[x]<tab> 在插入模式下輸入ife,後面接else if()的分支個數,然後按<tab>鍵展開。
用法:switch[x]<tab> 在插入模式下輸入switch,後面接case的分支個數,然後按<tab>鍵展開。
函數模闆
這個就強大啦!
用法:f[x]<tab> 在插入模式下輸入f,後面接函數參數的個數,然後按<tab>鍵展開。
三、cvim
又是一種神器級的插件。
這個插件,我在 http://blog.csdn.net/ydonghao2/article/details/13507679 中詳細介紹過。
這裡 http://lug.fh-swf.de/vim/vim-c/screenshots-en.html 有一些示範。
這裡需要記住的是:
1)你可以在 ~/.vim/bundle/c-support/templates/Templates中修改c或者cpp的的頭部檔案的注釋說明。(檔案的預設作者,作者的聯系方式等。)
2)大多數的情況都可以用上面的一個插件進行操作了,當時還是有一些情況需要我們用到的。
四、cppcomplete
待續。