<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          vim-ideVim 擴展工具

          聯(lián)合創(chuàng)作 · 2023-09-30 15:07

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

          使用范圍

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

          安裝方法

           

          (確保設(shè)備已經(jīng)聯(lián)網(wǎng))
          1.centos, redhat, fedora安裝命令:
            yum install ctags cscope wget unzip -y && wget https://github.com/langsim/vim-ide/archive/master.zip -O master.zip && unzip -o master.zip && cp -rf vim-ide-master/.vim* ~ ; rm -rf master.zip vim-ide-master
          2.debian, ubuntu安裝命令:
            apt install ctags cscope wget unzip -y && wget https://github.com/langsim/vim-ide/archive/master.zip -O master.zip && unzip -o master.zip && cp -rf vim-ide-master/.vim* ~ ; rm -rf master.zip vim-ide-master
          3.mac安裝命令,要求已經(jīng)安裝brew, wget和unzip:
            brew install ctags cscope -y && hash ctags cscope wget unzip && wget https://github.com/langsim/vim-ide/archive/master.zip -O master.zip && unzip -o master.zip && cp -rf vim-ide-master/.vim* ~ ; rm -rf master.zip vim-ide-master
          
          (上面的命令的實際操作是安裝ctags, cscope, wget和unzip及下載vim配置文件和插件解壓到家目錄下)
           

           

          使用到的插件

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

          自己總結(jié)的瀏覽和編寫C/C++工程的常規(guī)的使用方法

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

          TODO

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

          緣起

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

          手機掃一掃分享

          編輯 分享
          舉報
          評論
          圖片
          表情
          推薦
          點贊
          評論
          收藏
          分享

          手機掃一掃分享

          編輯 分享
          舉報
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  亚洲日本本土视频欧美 | 亚洲欧美精品AAAAAA片 | 精品日韩在线 | 肏屄在线看| 奇米久久778 |