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 安裝完成。