配置vim,打造自己的C IDE

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

1.下載vim及基本配置

          終端下

          $sudo apt-get install vim

          輸入命令

          $vim ~/.vimrc  

          創建vim環境設置文件

          基本配置如下:

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

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

2.選擇一個插件管理軟件

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

          我選擇的是:Pathogen

          pathogen使用簡單方便,有效,安裝插件方式:

          先創建兩個文件夾:

          mkdir -p ~/.vim/autoload ~/.vim/bundle

           curl -LSso ~/.vim/autoload/pathogen.vim https://tpo.pe/pathogen.vim


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

          "PATHOGEN配置
          :execute pathogen#infect()
          :filetype plugin on "允許插件
          :filetype plugin indent on "啓動智能補全

          再github中直接添加插件的方法:

          如:

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

         接着,在vim中輸入:Helptags 生成幫助文件,就能夠輸入:help vim-sensible 查看幫助文檔

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

3.安裝NERDTREE插件

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

          安裝,在終端輸入命令:

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

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

          在vim中輸入命令: NERDTree就可以瀏覽文件了

          我的.vimrc文件添加了以下代碼:

          "快捷鍵:使用F3打開關閉
          map <F3> :NERDTreeMirror <CR> 
          map <F3> :NERDTreeToggle <CR>  
         "NERDTree配置  
          let NERDChristmasTree=1 "顯示增強
          let NERDTreeAutoCenter=1 "自動調整焦點
          let NERDTreeShowFiles=1 "顯示文件
          let NERDTreeShowLineNumbers=1 "顯示行號
          let NERDTreeHightCursorline=1 "高亮當前文件
          let NERDTreeShowHidden=0 "顯示隱藏文件
          let NERDTreeMinimalUI=0 "不顯示'Bookmarks' label 'Press ? for help'
          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)

          安裝命令:

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

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

          "配置Supertab
          let g:SuperTabRetainCompletionType=2 "記住上次的補全方式,直到按Esc退出插入模式位置
          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

        下載安裝:http://ctags.sourceforge.net 

        下載成功後解壓文件編譯安裝:

        進入文件夾,終端中依次輸入:

         $./configure
         $make
         $sudo make install

        使用方法:

        在你的工程的源碼文件夾內輸入命令:

        $ctags -R 

       “$ ctags –R *”:“-R”表示遞歸創建,也就包括源代碼根目錄(當前目錄)下的所有子目錄。“*”表示所有文件。這條命令會在當前目錄下產生一個“tags”文件,當用戶在當前目錄中運行vi時,會自動載入此tags文件。

        安裝taglist :下載地址http://www.vim.org/scripts/script.php?script_id=273

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

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

            "taglist配置信息
             let Tlist_Auto_Open=1 " Let the tag list open automatically
             let Tlist_Auto_Update=1 " Update the tag list automatically
             let Tlist_Compact_Format=1 " Hide help menu
             let Tlist_Ctags_Cmd='ctags' " Location of ctags
             let Tlist_Enable_Fold_Column=0 "do show folding tree
             let Tlist_Process_File_Always=1 " Always process the source file
             let Tlist_Show_One_File=1 " Only show the tag list of current file
             let Tlist_Exist_OnlyWindow=1 " If you are the last, kill yourself
             let Tlist_File_Fold_Auto_Close=0 " Fold closed other trees
             let Tlist_Sort_Type="name" " Order by name
             let Tlist_WinWidth=30 " Set the window 40 cols wide.
             let Tlist_Close_On_Select=1 " Close the list when a item is selected
             let Tlist_Use_SingleClick=1 "Go To Target By SingleClick
             let Tlist_Use_Right_Window=1 "在右側顯示

             "打開關閉快捷鍵
             map <silent> <F2> :TlistToggle<CR> 


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

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

6.我的.vimrc文件和實際效果圖

         我的.vimrc文件:

           

:set nu	 "設置顯示行號
:set backspace=2 "能使用backspace回刪
:syntax on "語法檢測
:set ruler "顯示最後一行的狀態
:set bg=dark "背景色設置
:set hlsearch "高亮度反白
:set laststatus=2 "兩行狀態行+一行命令行
:set cindent "設置c語言自動對其
:set t_Co=256 "指定配色方案爲256
:set mouse=a "設置可以在VIM使用鼠標
:set tabstop=4 "設置TAB寬度
:set history=1000 "設置歷史記錄條數
"PATHOGEN配置
:execute pathogen#infect() 
:filetype  plugin on "允許插件
:filetype  plugin indent on  "啓動智能補全

"配置nerdtree使用F3打開關閉
map <F3> :NERDTreeMirror <CR>
map <F3> :NERDTreeToggle <CR>
"NERDTree配置
let NERDChristmasTree=1       "顯示增強
let NERDTreeAutoCenter=1      "自動調整焦點
let NERDTreeShowFiles=1       "顯示文件
let NERDTreeShowLineNumbers=1 "顯示行號
let NERDTreeHightCursorline=1 "高亮當前文件
let NERDTreeShowHidden=0      "顯示隱藏文件
let NERDTreeMinimalUI=0       "不顯示'Bookmarks' label 'Press ? for help'
let NERDTreeWinSize=31        "窗口寬度
"配置Supertab
let g:SuperTabRetainCompletionType=2 "記住上次的補全方式,直到按Esc退出插入模式位置
"let g:SuperTabDefaultCompletionType="<c-x><c-o>" "按下tab後默認補全方式爲<c-p>,現在改爲<c-x><c-o> 

"默認最大化窗口打開
au GUIEnter * simalt ~x 
"taglist配置信息
 let Tlist_Auto_Open=1 " Let the tag list open automatically
 let Tlist_Auto_Update=1 " Update the tag list automatically
 let Tlist_Compact_Format=1 " Hide help menu
 let Tlist_Ctags_Cmd='ctags' " Location of ctags
 let Tlist_Enable_Fold_Column=0 "do show folding tree
 let Tlist_Process_File_Always=1 " Always process the source file
 let Tlist_Show_One_File=1 " Only show the tag list of current file
 let Tlist_Exist_OnlyWindow=1 " If you are the last, kill yourself
 let Tlist_File_Fold_Auto_Close=0 " Fold closed other trees
 let Tlist_Sort_Type="name" " Order by name
 let Tlist_WinWidth=30 " Set the window 40 cols wide.
 let Tlist_Close_On_Select=1 " Close the list when a item is selected
 let Tlist_Use_SingleClick=1 "Go To Target By SingleClick
 let Tlist_Use_Right_Window=1 "在右側顯示
 map <silent> <F2> :TlistToggle<CR>   
 "打開關閉快捷鍵

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

       

     

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

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

        一些參考的博文:

        所需即所獲:像 IDE 一樣使用 vim

        手把手教你把Vim改裝成一個IDE編程環境(圖文)

        安裝Exuberant Ctags及Tag List插件

        vim 中Ctags的安裝和使用 

        Vim常用插件及其安裝

        我的vim插件及使用

        終端至上!將Vim打造成全新的集成開發環境!

        如何將Vim打造成一個成熟的IDE 

         C編程vim初步配置            

       推薦學習vim指令資料:鳥哥的linux私房菜,網易雲課堂上的魚C工作室             

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章