1. 程式人生 > >配置vim,打造C IDE

配置vim,打造C IDE

在網上看到大神們玩Vim,頓時產生興趣,想要模仿一下,目的是要轉至linux下學習C程式設計

1.下載vim及基本配置

          終端下 

  1. $sudo apt-get install vim  

          輸入命令

  1. $vim ~/.vimrc    

          建立vim環境設定檔案

          基本配置如下:

  1. :set nu "設定顯示行號  
  2. :set backspace=2 "能使用backspace回刪  
  3. :syntax on "語法檢測  
  4. :set ruler "顯示最後一行的狀態  
  5. :set bg=dark "背景色設定  
  6. :set hlsearch "高亮度反白  
  7. :set laststatus=2 "兩行狀態行+一行命令列  
  8. :set cindent "設定c語言自動對齊  
  9. :set t_Co=256 "指定配色方案為256  
  10. :set mouse=a "設定可以在VIM使用滑鼠  
  11. :set tabstop=4 "設定TAB寬度  
  12. :set history=1000 "設定歷史記錄條數  
  13. :set nocompatible "設定不相容  

          更多設定可以再vim中輸入:set all 查閱,可以設定的很多,我只需要設定部分就好了

2.選擇一個外掛管理軟體

          有兩種比較流行的外掛管理,分別是Vundle和Pathogen.

          pathogen使用簡單方便,有效,安裝外掛方式:

          先建立兩個資料夾:

  1. mkdir -p ~/.vim/autoload ~/.vim/bundle  
  2.  curl -LSso ~/.vim/autoload/pathogen.vim https://tpo.pe/pathogen.vim  


          安裝成功,在./vimrc中加入:

  1. "PATHOGEN配置  
  2. :execute pathogen#infect()  
  3. :filetype plugin on "允許外掛  
  4. :filetype plugin indent on "啟動智慧補全  

          再github中直接新增外掛的方法:

          如:

  1. $cd ~/.vim/bundle     #進入目錄  
  2. $git clone git://github.com/tpope/vim-sensible.git     #從github上下載  

         接著,在vim中輸入:Helptags 生成幫助檔案,就能夠輸入:help vim-sensible 檢視幫助文件 

         如此就安裝好了外掛,開啟幫助文件,再進行下一步 的詳細配置

3.安裝NERDTREE外掛

          管理一個大的專案時,把程式碼分散到不同的檔案裡面是非常好的主意。也是一個基本的編碼原則。NERDTree 是一個不錯的可以直接在Vim裡使用的檔案瀏覽器,它可以讓你隨時想到所有的檔案。

          安裝,在終端輸入命令:

  1. $cd ~/.vim/bundle  
  2. $git clone https://github.com/scrooloose/nerdtree.git  

          安裝完後,重新開啟vim,輸入:helptags 再開啟 :help NERD_tree.txt  可以配置.vimrc了

          在vim中輸入命令: NERDTree就可以瀏覽檔案了

          我的.vimrc檔案添加了以下程式碼:

  1. "快捷鍵:使用F3開啟關閉  
  2. map <F3> :NERDTreeMirror <CR>   
  3. map <F3> :NERDTreeToggle <CR>    
  4. NERDTree配置    
  5. let NERDChristmasTree=1 "顯示增強  
  6. let NERDTreeAutoCenter=1 "自動調整焦點  
  7. let NERDTreeShowFiles=1 "顯示檔案  
  8. let NERDTreeShowLineNumbers=1 "顯示行號  
  9. let NERDTreeHightCursorline=1 "高亮當前檔案  
  10. let NERDTreeShowHidden=0 "顯示隱藏檔案  
  11. let NERDTreeMinimalUI=0 "不顯示'Bookmarks' label 'Press ? for help'  
  12. let NERDTreeWinSize=31 "視窗寬度  

          Nerdtree快捷鍵
          o 開啟關閉檔案或者目錄
          t 在標籤頁中開啟
          T 在後臺標籤頁中開啟
          ! 執行此檔案
          p 到上層目錄
          P 到根目錄
          K 到第一個節點
          J 到最後一個節點
          u 開啟上層目錄
          m 顯示檔案系統選單(新增、刪除、移動操作)
          ? 幫助
          q 關閉

          常常用到的是:ctrl+]  ctrl+t o

4.自動補全:supertab外掛

          用過vs2010和code::blocks ,它們的自動補全功能確實強大 ,supertab就有很好的語法補全功能(連結:supertab)

          安裝命令:

  1. $cd ~/.vim/bundle  
  2. $git clone https://github.com/ervandew/supertab  

          安裝完成後,在.vimrc中加入程式碼:

  1. "配置Supertab  
  2. let g:SuperTabRetainCompletionType=2 "記住上次的補全方式,直到按Esc退出插入模式位置  
  3. let g:SuperTabDefaultCompletionType="<c-x><c-o>"  "按下tab後預設補全方式為<c-p>,現在改為<c-x><c-o>  

          還有很多補全方式,可以輸入 :help ins-completion 或:help compl-omni 檢視更多

          開啟vim後輸入想輸入的詞的首幾個字母,按下Tab鍵就能補全.更多還是請參考手冊

5.Ctags和Taglist外掛

         Ctags工具是用來遍歷原始碼檔案生成tags檔案,這些tags檔案能被編輯器或其它工具用來快速查詢定位原始碼中的符號(tag/symbol),如變數名,函式名等。比如,tags檔案就是Taglist和OmniCppComplete工作的基礎.ctags程式其是叫"Exuberant Ctags".

         為了方便使用Vim閱讀原始碼,Tag List 這個Vim外掛不可或缺。這是一個用來瀏覽原始碼的Vim外掛,使用它我們可以概覽原始碼的結構並在各個原始檔中跳轉瀏覽,非常方便。Tag List外掛需要Ctags這個程式的支援(動態生成tag file).

        安裝ctags方式有兩種:

        輸入命令安裝: sudo apt-get install ctags

        下載成功後解壓檔案編譯安裝:

        進入資料夾,終端中依次輸入:

  1. $./configure  
  2. $make  
  3. $sudo make install  

        使用方法:

        在你的工程的原始碼資料夾內輸入命令:

  1. $ctags -R   

       “$ ctags –R *”:“-R”表示遞迴建立,也就包括原始碼根目錄(當前目錄)下的所有子目錄。“*”表示所有檔案。這條命令會在當前目錄下產生一個“tags”檔案,當用戶在當前目錄中執行vi時,會自動載入此tags檔案。

        解壓後直接放在~/.vim/bundle之下,(遇到的問題是打開不了:helptags) 可以開啟taglist.txt根據裡面的資訊進行配置

        同樣的在.vimrc加上如下配置程式碼

  1. "taglist配置資訊  
  2.  let Tlist_Auto_Open=1 " Let the tag list open automatically  
  3.  let Tlist_Auto_Update=1 " Update the tag list automatically  
  4.  let Tlist_Compact_Format=1 " Hide help menu  
  5.  let Tlist_Ctags_Cmd='ctags' " Location of ctags  
  6.  let Tlist_Enable_Fold_Column=0 "do show folding tree  
  7.  let Tlist_Process_File_Always=1 " Always process the source file  
  8.  let Tlist_Show_One_File=1 " Only show the tag list of current file  
  9.  let Tlist_Exist_OnlyWindow=1 " If you are the last, kill yourself  
  10.  let Tlist_File_Fold_Auto_Close=0 " Fold closed other trees  
  11.  let Tlist_Sort_Type="name" " Order by name  
  12.  let Tlist_WinWidth=30 " Set the window 40 cols wide.  
  13.  let Tlist_Close_On_Select=1 " Close the list when a item is selected  
  14.  let Tlist_Use_SingleClick=1 "Go To Target By SingleClick  
  15.  let Tlist_Use_Right_Window=1 "在右側顯示  
  16.  "開啟關閉快捷鍵  
  17.  map <silent> <F2> :TlistToggle<CR>   


         這樣使用起來就很方便:使用命令:$ctags -R  進入vim開啟關閉 F2

         今天就先配置到這裡,程式設計水平不高,還未到改進IDE來提高效率的階段,還是先去學程式設計,先挖坑有空再回來填........

6.我的.vimrc檔案和實際效果圖

         我的.vimrc檔案:

  1. :set nu  "設定顯示行號  
  2. :set backspace=2 "能使用backspace回刪  
  3. :syntax on "語法檢測  
  4. :set ruler "顯示最後一行的狀態  
  5. :set bg=dark "背景色設定  
  6. :set hlsearch "高亮度反白  
  7. :set laststatus=2 "兩行狀態行+一行命令列  
  8. :set cindent "設定c語言自動對其  
  9. :set t_Co=256 "指定配色方案為256  
  10. :set mouse=a "設定可以在VIM使用滑鼠  
  11. :set tabstop=4 "設定TAB寬度  
  12. :set history=1000 "設定歷史記錄條數  
  13. "PATHOGEN配置  
  14. :execute pathogen#infect()   
  15. :filetype  plugin on "允許外掛  
  16. :filetype  plugin indent on  "啟動智慧補全  
  17. "配置nerdtree使用F3開啟關閉  
  18. map <F3> :NERDTreeMirror <CR>  
  19. map <F3> :NERDTreeToggle <CR>  
  20. "NERDTree配置  
  21. let NERDChristmasTree=1       "顯示增強  
  22. let NERDTreeAutoCenter=1      "自動調整焦點  
  23. let NERDTreeShowFiles=1       "顯示檔案  
  24. let NERDTreeShowLineNumbers=1 "顯示行號  
  25. let NERDTreeHightCursorline=1 "高亮當前檔案  
  26. let NERDTreeShowHidden=0      "顯示隱藏檔案  
  27. let NERDTreeMinimalUI=0       "不顯示'Bookmarks' label 'Press ? for help'  
  28. let NERDTreeWinSize=31        "視窗寬度  
  29. "配置Supertab  
  30. let g:SuperTabRetainCompletionType=2 "記住上次的補全方式,直到按Esc退出插入模式位置  
  31. "let g:SuperTabDefaultCompletionType="<c-x><c-o>" "按下tab後預設補全方式為<c-p>,現在改為<c-x><c-o>   
  32. "預設最大化視窗開啟  
  33. au GUIEnter * simalt ~x   
  34. "taglist配置資訊  
  35.  let Tlist_Auto_Open=1 " Let the tag list open automatically  
  36.  let Tlist_Auto_Update=1 " Update the tag list automatically  
  37.  let Tlist_Compact_Format=1 " Hide help menu  
  38.  let Tlist_Ctags_Cmd='ctags' " Location of ctags  
  39.  let Tlist_Enable_Fold_Column=0 "do show folding tree  
  40.  let Tlist_Process_File_Always=1 " Always process the source file  
  41.  let Tlist_Show_One_File=1 " Only show the tag list of current file  
  42.  let Tlist_Exist_OnlyWindow=1 " If you are the last, kill yourself  
  43.  let Tlist_File_Fold_Auto_Close=0 " Fold closed other trees  
  44.  let Tlist_Sort_Type="name" " Order by name  
  45.  let Tlist_WinWidth=30 " Set the window 40 cols wide.  
  46.  let Tlist_Close_On_Select=1 " Close the list when a item is selected  
  47.  let Tlist_Use_SingleClick=1 "Go To Target By SingleClick  
  48.  let Tlist_Use_Right_Window=1 "在右側顯示  
  49.  map <silent> <F2> :TlistToggle<CR>     
  50.  "開啟關閉快捷鍵  

實際效果圖如下,熱鍵F2,F3(開啟關閉目錄樹和taglist),tab鍵(自動補全)

        

        還有很多優秀的外掛,此坑待填,等水平上來了再修改

        更多的指令可以在vim 中輸入:help 檢視各種manual  reference

轉自:

https://blog.csdn.net/liangsir_l/article/details/50608350