Vim 擴展工具 vim-ide
通過簡單的配置文件將 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定制的原則是盡量保持精簡快速與更好的兼容性,但實現更多更強更實用更加人性化的功能。
本文由用戶 jopen 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!