如何將一個Vim配置成C/C++兼Erlang開發環境

1.首先介紹下c.vim,爲何要裝c.vimphp

      C.vim即C-Support vim,可以幫助C程序員[固然還有使用C++ 的傢伙]很好的完成給文件或者函數說明給函數添加註釋,或者添加一個註釋塊,添加函數等等,爲你節約時間,並保護你的鍵盤。插件做者Fritz Mehner,編寫c.vim的宗旨是「Write and run programs. Insert statements, idioms, comments」.c++

    c.vim 就是c/c++編程的一個IDE,其功能堪比windows裏面的vc,不只可讓你編寫代碼更加快捷,並且還能夠編譯程序  程序員

2.安裝c.vim插件編程

第一步:下載C.VIMvim

Vim的官網       下載c.vim  注:我下載的事

第二步 下載好了以後,解壓安裝windows

#mkdir ~/.vim                                 //注:全部的插件都要裝在這兒
#cp /mnt/feichanghao/vimm/cvim.zip ~/.vim     //把插件移動到目標目錄中
#cd ~/.vim 
#unzip cvim.zip

注:解壓的時候會生成一些目錄,須要注意一下,由於之後要用編輯器

syntax,plugin,ftplugn,doc,c-support,autoloadide

plugin.:這個文件夾裏面放着文件類型插件,後面的a.vim插件直接放在這個目錄就行函數

doc: 這個目錄存放的是幫助文檔工具

第三步 激活插件功能,須要配置.vimrc

#cd ~/.vimrc
filetype plugn on   //這表示開啓加載文件類型插件,而咱們的C.vim就是文件類型插件

OK,這樣c.vim插件就裝好了,就可使用了。

3.使用c.vim的強大功能,只介紹一部分,其他的查看幫助文檔便可

    功能1:自動爲*.c文件添加文件頭說明

       當你打開一個擴展名爲.c的文件,在文件開始處會自動加上以下的描述,而且將光標定位到description處,此時是insert mode可直接鍵入文件描述

vim 6.cpp會出現以下界面

 

  固然你能夠改變AUTHOR COMPANY等得默認值。

 

 vim ~/.vim/c-support/templates/Templates

        

        如今再建立一個.c 文件,你會看到以下的文件頭。

 

 

功能二:插入main函數 \im,在正常模式下鍵入\im

功能三:F9編譯,鏈接

      vim由一個程序員開發,並且爲更多的程序員所使用,因此在vim中增強了對軟件開發的支持,quickfix模式的引入就是一個例子。所謂quickfix模式,它和Normal模式、Insert模式沒什麼關係,它只是一種加快你開發速度的工做方式。

Quickfix模式的主要思想是保存一個位置列表,而後提供一系列命令,實如今這個位置列表中跳轉。

 

 

位置列表的產生能夠從編譯器的編譯輸出信息中得到.

 

 

:cp                跳到上一個錯誤 ( :help :cp )
:cn                跳到下一個錯誤 ( :help :cn )

 

 

還有不少不少的功能就不在此列舉了,可查看幫助文檔

直接在vim編輯器中輸入\hp 就能夠查看還有哪些幫助命令了。

4.介紹下ctags插件,爲何要裝ctags

       爲源碼的變量/對象、結構體/類、函數/接口、宏等產生索引文件,以便快速定位。目前支持41種語言,這裏僅以C/C++爲例:ctags能夠產生c/c++語言全部類型的索引文件,也能夠爲Erlang語言產生索引文件,tags文件就是Taglist和OmniCppComplete工做的基礎。

      Tag文件(索引文件)無疑是開發人員的利器之一,有了tag文件的協助,你能夠在vim查看函數調用關係,類、結構、宏等的定義,能夠在任意標籤中跳轉、返回……相信使用過Source Insight的人對這些功能並不陌生,而在vim中,此功能的實現依賴於tag文件。一般咱們使用名爲ctags的程序來生成這樣的tag文件。

 

5.安裝ctags插件

第一步:下載ctags

Vim的官網            // 注我下載的是ctags-5.8.tar.gz

第二步 下載好了以後,解壓安裝

#cd ~/.vim    //注:全部的插件都要裝在這兒
#cp /mnt/feichanghao/vimm/ctags-5.8.tar.gz  .        //把插件移動到目標目錄中
#unzip ctags-5.8.tar.gz -d ctags-5.8                 //把壓縮文件解壓到ctags-5.8文件中
#cd ctags-5.8
#make
#make install

 

OK,這樣ctags插件就裝好了,就可使用了。

6.介紹下ctags插件的用法,固然也是部分功能,其他的看幫助文檔就好了

   首先介紹幾個ctags的命令

  1》生成tags文件的命令

ctags –R --languages=c++ /erlang

 

「-R」表示遞歸建立,也就包括源代碼根目錄(當前目錄)下的全部子目錄。「*」表示全部文件。這條命令會在當前目錄下產生一個「tags」文件。

--langguages爲何語言生成tags文件,

Tags文件中包括這些對象的列表:

1).用#define定義的宏

2).枚舉型變量的值

3).函數的定義、原型和聲明

4).名字空間(namespace)

5).類型定義(typedefs)

6).變量(包括定義和聲明)

7).類(class)、結構(struct)、枚舉類型(enum)和聯合(union)

8).類、結構和聯合中成員變量或函數

 

2》怎麼用tags文件

      運行vim的時候,必須在「tags」文件所在的目錄下運行。不然,運行vim的時候還要用「:set tags=」命令設定「tags」文件的路徑,這樣vim才能找到「tags」文件。

在完成編碼時,能夠手工刪掉tags文件。

用tags文件經常使用如下命令

  a.咱們常常用到的tag跳轉命令見下(通常只須要知道CTRL-]和CTRL-T就能夠了):

:tag {ident}            "跳轉到指定的標籤
:tags                   "顯示標籤棧
CTRL-]                  "跳轉到當前光標下的標籤
CTRL-T                  "跳到標籤棧中較早的標籤

  b.若是這個變量或函數有多處定義,在VI命令行模式

「:ts」命令就能列出一個列表供用戶選擇。    

「:tp」爲上一個tag標記文件,

「:tn」爲下一個tag標記文件。固然,若當前tags文件中用戶所查找的變量或函數名只有一個,「:tp,:tn」命令不可用。

基本這些命令就足夠知足咱們的須要了。

更多功能經過命令man ctags或在Vim命令行下運行:help ctags查詢。

參考文獻:

http://blog.csdn.net/duguteng/article/details/7412652 

http://blog.csdn.net/zhangzhizhen1988/article/details/8373701

http://blog.csdn.net/g_brightboy/article/details/16830395

7.介紹下taglist插件,爲何要裝taglist

       想必用過Source Insight的人都記得這樣一個功能:SI可以把當前文件中的宏、全局變量、函數等tag顯示在Symbol窗口,用鼠標點上述tag,就跳到該tag定義的位置;能夠按字母序、該tag所屬的類或scope,以及該tag在文件中出現的位置進行排序;若是切換到另一個文件,Symbol窗口更新顯示這個文件中的tag。 

 

       在vim中的taglist插件所實現的就是上述相似的功能,有些功能比SI弱,有些功能比SI更強。並且,taglist插件還在不斷完善中! 

要使用taglist plugin,必須知足: 

       ■打開vim的文件類型自動檢測功能:filetype on

       ■系統中裝了Exuberant ctags工具,而且taglist plugin可以找到此工具(由於taglist須要調用它來生成tag文件) 

       ■你的vim支持system()調用 

8.安裝taglist插件

第一步:下載taglist

Vim的官網   下載c.vim  注:我下載的事

第二步 下載好了以後,解壓安裝

#cd ~/.vim                                 //注:全部的插件都要裝在這兒
#cp /mnt/feichanghao/vimm/taglist_46.zip  .    //把插件移動到目標目錄中
#unzip taglist_46.zip

注:

plugin.:taglist.vim會被放到這個目錄

doc: 這個目錄存放的是幫助文檔.taglist.txt會被放到這個目錄

第三步 須要配置.vimrc

#cd ~/.vimrc
let Tlist_Ctags_Cmd='/usr/local/bin/ctags'     // 將taglist與ctags關聯 
let Tlist_Auto_Open = 1                       //vim一打開就自動打開這個list框 
let Tlist_Show_One_File=1                     //每次只顯示一個標籤文件          
let Tlist_Exit_OnlyWindow=1                   //若是taglist窗口是最後一個窗口,則退出vim
let Tlist_Use_Right_Window=1                  //窗口顯示在右邊
set mouse=a                                 「讓鼠標在TilstOpen那個標籤上點擊的時候生效,就能夠跳到對應的地方」
let Tlist_Use_SingleClick=1                  //鼠標在點擊的tags標籤時候就跳到對應的標籤訂義的地方

OK,這樣taglist插件就裝好了,就可使用了。

 

<CR>          跳到光標下tag所定義的位置,用鼠標雙擊此tag功能也同樣
o             在一個新打開的窗口中顯示光標下tag
<Space>       顯示光標下tag的原型定義
u             更新taglist窗口中的tag
s             更改排序方式,在按名字排序和按出現順序排序間切換
x             taglist窗口放大和縮小,方便查看較長的tag
+             打開一個摺疊,同zo
-             將tag摺疊起來,同zc
*             打開全部的摺疊,同zR
=             將全部tag摺疊起來,同zM
[[            跳到前一個文件
]]            跳到後一個文件
q             關閉taglist窗口
<F1>          顯示幫助

 

功能可經過在Vim命令行下運行:help taglist.txt查詢

9.安裝OmniCppComplete插件,爲何要裝OmniCppComplete

是一個c++補全的插件,能夠作以下補全

        命名空間(namespace),類(class),結構(struct)和聯合(union)補全

        函數屬性成員和返回值類型補全

        "this"指針成員補全

        C/C++類型轉換(cast)對象補全

        類型定義(typedef)和匿名類型(anonymous types)補全

一樣依賴與Ctags工具生成的tags文件。安裝步驟跟Taglist相似。

在此就不在寫了,去官網:http://www.vim.org/scripts/script.php?script_id=1520

下載,而後安裝步驟按照Taglist來安裝就行。

 

   

一樣也 須要配置.vimrc

#cd ~/.vimrc
set nocp                             //不與vi兼容
set tags+=/c++tags/cpp               //c++庫生成的自動tags的索引文件,這樣只要你編輯文件,的提示裏面就自動有c++庫裏函數的提示
let OmniCpp_NamespaceSearch=1        //命名空間查找控制 0 : 禁止查找命名空間 1 : 查找當前文件緩衝區內的命名空間 2 : 查找當前文件緩衝區和包含文件中的命名空間
let OmniCpp_GlobalScopeSearch=1      //全局查找控制。0:禁止;1:容許
let OmniCpp_ShowAccess=1             // 是否顯示訪問控制信息('+', '-', '#')。0/1, 缺省爲1(顯示)
let OmniCpp_MayCompleteArrow=1       //在"->"後是否自動運行omnicppcomplete給出提示信息。0/1
let OmniCpp_MayCompleteScope=1       //在域標識符"::"後是否自動運行omnicppcomplete給出提示信息。0/1
set completeopt=menu                 //菜單式的提示

OK,這樣taglist插件就裝好了,就可使用了。

 

此時有一些快捷鍵能夠用:

Ctrl+P 向前切換成員 

Ctrl+N 向後切換成員 

Ctrl+E 表示退出下拉窗口, 並退回到原來錄入的文字 

Ctrl+Y 表示退出下拉窗口, 並接受當前選項 。

 


 

10.安裝supertab插件,爲何要裝supertab

SuperTab使Tab快捷鍵具備更快捷的上下文提示功能,加速你的補全。

去官網http://www.vim.org/scripts/script.php?script_id=1643下載一個supertab.vim直接放在plugin目錄中便可。

 

 須要配置.vimrc

#cd ~/.vimrc
let SuperTabRetainCompletionType=2

OK,這樣taglist插件就裝好了,就可使用了。

 SuperTab使用很簡單,只要在輸入變量名或路徑名等符號中途按Tab鍵,就能獲得之前輸入過的符號列表,並經過Tab鍵循環選擇

11.安裝a.vim插件

 

         做爲一個C程序員, 平常Coding時在源文件與頭文件間進行切換是再日常不過的事了, 直接用vim打開其源/頭文件其實也不是什麼麻煩事, 可是隻用一個按鍵就切換過來了, 這是多麼貼心的功能啊

去官網http://www.vim.org/scripts/script.php?script_id=31  下載a.vim。

將a.vim 放到 ~/.vim/plugin 文件夾中便可。

 

安裝好a.vim後有下面的幾個命令能夠用了:

:A 在新Buffer中切換到c/h文件 

:AS 橫向分割窗口並打開c/h文件 

:AV 縱向分割窗口並打開c/h文件 

:AT 新建一個標籤頁並打開c/h文件 

 

至此,咱們的VIM IDE 安裝完成。

相關文章
相關標籤/搜索