Vim 擴展工具 vim-ide

jopen 9年前發布 | 19K 次閱讀 Vim Linux

通過簡單的配置文件將 vim 打造成專業 ide,支持 mac linux cygwin。看過數篇 vim 配置文件,必要時去定制vim 的插件,將 vim 的 ide 用戶體驗盡量做到極致。

使用范圍

系統要求:vim 7.2及以上版本,安裝有ctags和cscope,完美支持linux, mac, cygwin. (mac下為更良好地用戶體驗,請將shell的描述文件成pro)
功能:瀏覽和編寫c/c++, python項目
特點:安裝綠色簡單,功能可比source insight,但保持了原汁原味的vim。

安裝方法

1.把.vimrc和.vim文件夾拷貝到家目錄下,如果終端背景為白色,將.vimrc中background選項改為light。
2.安裝cscope ctags。用apt-get安裝: apt-get install ctags cscope(用yum安裝: yum install ctags cscope, 用brew安裝: brew install ctags cscope)

使用到的插件

tagbar         #函數變量列表(修改部分BUG,修改配置文件)
nerdcommenter  #注釋功能(修改C語言默認用//注釋,修改配置文件)
a              #切換頭文件和實現文件(修改跨目錄不能找到的問題,無修改配置文件)
nerdtree       #目錄樹(無修改,修改配置文件)
omnicpp        #C/C++的自動補全插件(無修改,修改配置文件)
bufexplorer    #當前打開的文件列表(無修改,無修改配置文件)
AutoComplPop   #自動彈出補全菜單 (無修改,無修改配置文件)                                            
SuperTab       #按tab補全 (無修改,無修改配置文件)

自己總結的瀏覽和編寫C/C++工程的常規的使用方法

打開項目:
    cd到工程根目錄下,vim (回車),必須是工程根目錄。按F2打開文件列表,選擇文件打開。
建立索引:
    第一次打開項目,及代碼更新后按F7更新索引,這個索引與source insight中的更新索引意義相同。
瀏覽C/C++代碼:
    瀏覽代碼會常用的幾個功能:
    1.跳轉
        F3         通過tagbar函數列表跳轉到當前文件的某個函數
        ctrl-]     跳轉到光標下單詞在工程中定義的位置
        gd         如果光標下單詞是局部變量,按這個跳轉到它定義的位置
        :tag word  跳轉到word定義的位置     
        ctrl-2 g   跳轉到光標下單詞在/usr/include中定義的位置
        ctrl-h, j, k, l 光標在各個窗口間跳轉
        %          在一個大小中括號跳轉到對應括號
        [[         跳轉到當前函數的開頭
        ][         跳轉到當前函數的結尾
        ctrl-o     回退到光標之前的位置。
        ctrl-i     按ctrl-o后返回。
    2.搜索
        ctrl-[ s   在整個工程里面搜索光標下單詞,但不包括字符串和注釋。
        ctrl-[ t   在整個工程里面搜索光標下單詞,包括字符串和注釋。
        :cscope find t word  在工程中搜索字符串word。
        <F5>       高亮光標下單詞
        #          向上搜索光標下單詞
        *          向下搜索光標下單詞
        /word      搜索單詞word
        /\<word\>  搜索單詞word,并要求整詞匹配
    3.切換到工程下的另一個文件
        F2         通過文件樹跳轉。
        F4         已經打開的文件列表
        F6         在頭文件和實現文件兩個文件切換。
        ctrl-[ f   跳轉到文件名含有光標下單詞的文件。
        ctrl-[ i   跳轉到包含光標下單詞對應文件的文件。
        ctrl-[ I   跳轉到包含當前文件的文件。
編寫C/C++代碼:
    1.替換功能
        :%s /word1/word2/g 將這個文件里的word1替換成word2。
    2.對齊代碼
        =          對齊選中行代碼
        ==         對齊當前行代碼
        gg=G       對齊整個文件
    3.注釋及反注釋
        ,          注釋選中行
        .          反注釋選中行

TODO

1.ctags在文件編碼與終端編碼不相同且跳轉行有中文的情況下無法跳轉
2.在cygwin下在同時打開nerdtree和tagbar的情況下退出,退出會出錯

緣起

剛開始做Linux C/C++的時候試了很多編輯方式,包括:
souce insight:通過Linux上的samba服務去寫Linux主機里的代碼(我覺得不通過定制版的vim和emacs之外最好的選擇,一方面不需要打開虛擬機界面,另一方面souce insight寫代碼也確實挺好用的。
eclipse:很好用,但不得打開Linux圖形界面,另外eclipse運行很慢,尤其大項目
qt creator:即使不是QT項目,當然也可以在Linux圖形界面用QT CREATOR寫代碼,比eclipse運行快,當然如果是Linux下的QT項目當然QT creator也是首選。
VIM與EMACS:作為開發環境都要加跳轉及自動補全類的插件。它們雖然功能上可能并沒有其他IDE境強大,但其他IDE都需要打開很耗資源的圖形界面,另外VIM和EMACS有很多其他IDE都不具備的好處,比如所有操作都不需要鼠標,能一鍵搜索等。另外它們都可以直接ssh到Linux主機然直接使用,缺點在于上手起來都較不容易。VIM與EMACS都可以無界限的加任何功能的插件,理論在一個上面能實現的功能在另一個上面一定能實現,不存在誰比誰強大的問題。從基本操作上個人還是更喜歡emacs,但因為折騰emcas插件比vim更難所以選擇了vim。
這個VIM的定制是在一年的時間里逐漸完善起來的,其中一段時間轉了emacs,后來折騰cedet實在沒折騰不完善,也找不到誰用能交流下,所以最終回到了vim。這個vim定制的原則是盡量保持精簡快速與更好的兼容性,但實現更多更強更實用更加人性化的功能。

項目主頁:http://www.baiduhome.net/lib/view/home/1442669901649

 本文由用戶 jopen 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!