1、準備工做html
安裝Git(由於下面咱們選擇的插件管理器須要使用到它)
安裝其餘插件前首先須要選擇一個Vim插件管理器,我這裏選擇的是Vundle,Vundle的工做過程當中須要經過Git自動從遠程創庫同步插件安裝包到本地倉庫(Vundle的默認本地倉庫位置是~/.vim/bundle/) 經過Git下載Vundle安裝包:$ git clone https://github.com/gmarik/Vundle.vim.git ~/.vim/bundle/Vundle.vim 在~/.vimrc中添加Vundle的配置內容: c++
01.
1
set nocompatible " be iMproved, required
02.
2
filetype on " required
03.
3
04.
4
" set the runtime path to include Vundle and initialize
05.
5
set rtp+=~/.vim/bundle/Vundle.vim
06.
6
call vundle#begin()
07.
7
" alternatively, pass a path where Vundle should install plugins
08.
8
"call vundle#begin(
'~/some/path/here'
)
09.
9
10.
10
" let Vundle manage Vundle, required
11.
11
Plugin
'gmarik/Vundle.vim'
12.
12
13.
13
" plugin from http:
//vim-scripts.org/vim/scripts.html
14.
14
Plugin
'L9'
15.
15
" Git plugin not hosted on GitHub
16.
16
" Plugin
'git://git.wincent.com/command-t.git'
17.
17
" git repos on your local machine (i.e. when working on your own plugin)
18.
18
" Plugin
'file:///home/gmarik/path/to/plugin'
19.
19
" The sparkup vim script is in a subdirectory of
this
repo called vim.
20.
20
" Pass the path to set the runtimepath properly.
21.
21
" Plugin
'rstacruz/sparkup'
, {
'rtp'
:
'vim/'
}
22.
22
" Avoid a name conflict with L9
23.
23
" Plugin
'user/L9'
, {
'name'
:
'newL9'
}
24.
24
25.
25
" All of your Plugins must be added before the following line
26.
26
call vundle#end() " required
27.
27
filetype plugin indent on " required
28.
28
" To ignore plugin indent changes, instead use:
29.
29
"filetype plugin on
30.
30
"
31.
31
" Brief help
32.
32
" :PluginList - list configured plugins
33.
33
" :PluginInstall(!) - install (update) plugins
34.
34
" :PluginSearch(!) foo - search (or refresh cache first)
for
foo
35.
35
" :PluginClean(!) - confirm (or auto-approve) removal of unused plugins
36.
36
"
37.
37
" see :h vundle
for
more details or wiki
for
FAQ
38.
38
" Put your non-Plugin stuff after
this
line
View Code 有兩種方式安裝新插件,經過命令行參數的方式如:$ vim +PluginInstall +qall或者直接運行:$vim,而後按:PluginInstall進入命令模式,直到左下方狀態欄出現Done!提示說明插件安裝成功,退出再進入就可使用咱們在~/.vimrc中配置的插件了 安裝ctags軟件:$ yum install ctagsgit
2、生成tags文件github
爲了能夠利用Vim自己提供的tag功能來定位程序裏面出現的宏定義和方法定義(源文件之間跳轉),在你的工程根目錄運行命令:$ ctags -R --language-force=c++ *,這裏語言要指定爲c++,若是指定爲c則不會生成.h文件的tag。操做成功後在當前目錄就能夠發現一個tags文件了,在~/.vimrc中添加一行配置信息如:set tags=/opt/dev/4.4BSD-Lite/tags來告訴vim tag索引文件的位置。再次運行vim就能夠經過按Ctrl+]來快速跳轉到光標下方的函數或宏的定義處,查看代碼很是方便。經過]+d能夠在vim狀態欄顯示當前文件中定義的宏的內容(不用跳轉)vim
3、按需添加插件緩存
(1)顯示目錄樹插件(NERDTree)session
在~/.vimrc的Plugin段中添加一行安裝配置:Plugin 'scrooloose/nerdtree' 在~/.vimrc裏面修改該插件的打開命令按鍵映射:map <F4> :NERDTree<cr> 保存被修改的配置文件,從新運行vim,如:$ vim /opt/dev 按F4功能鍵便可調用該插件顯示當前工做目錄的目錄樹,按?或者幫助信息,按q退出該插件(當打開多個tab時能夠經過gt或窗口index+gt在tab之間快速切換,按T以安靜方式打開新tab即打開新tab後繼續留在當前tab)app
(2)文件查找插件(CtrlP)函數
在~/.vimrc的Plugin段中添加一行安裝配置:Plugin 'kien/ctrlp.vim' 在~/.vimrc裏面修改該插件的打開命令按鍵映射及配置:ui
1.
let g:ctrlp_map =
'<c-p>'
"hotkey Ctrl+p open ctrlp plugin
2.
let g:ctrlp_cmd =
'CtrlP'
3.
let g:ctrlp_working_path_mode =
'0'
"disable work path mode
保存被修改的配置文件,從新運行vim,如:$ vim /opt/dev 按Ctrl+p便可調用該插件(每次運行第一次打開須要稍微等一下,該插件對工做目錄進行掃描建立緩存,若是目錄結構有變化按F5進行緩存刷新,我找了下沒有發現保存掃描緩存的功能),按ESC退出該插件(Ctrl+t在新tab中打開選中的文件);:CtrlPMRU 在最近使用最多的文件裏面查找結果;:CtrlPBuffer在find buffer裏面查找結果;按..進入上一級目錄中
(3)函數名列表(CtrlPFunky),該插件是CtrlP插件的一個擴展,必須先裝CtrlP
在~/.vimrc的Plugin段中添加一行安裝配置:Plugin 'tacahiroy/ctrlp-funky' 在~/.vimrc裏面修改該插件的命令按鍵映射及配置:
1.
map <F6> :CtrlPFunky<cr>
2.
let g:ctrlp_extensions = [
'funky'
]
3.
let g:ctrlp_funky_syntax_highlight =
1
保存被修改的配置文件,從新運行vim打開一個c源文件,按F6鍵便可看到當前文件的函數列表,上下鍵移動選擇條目按回車便可跳到函數定義處
(4)源文件中函數、變量、結構體、宏等元素的列表(taglist)
在~/.vimrc的Plugin段中添加一行安裝配置:Plugin 'vim-scripts/taglist.vim' 在~/.vimrc裏面修改該插件的命令按鍵映射及配置:
1.
map <F5> :Tlist<cr>
2.
let Tlist_Show_One_File =
1
3.
let Tlist_Exit_OnlyWindow =
1
4.
let Tlist_Use_Right_Window =
1
5.
let Tlist_GainFocus_On_ToggleOpen =
1
保存被修改的配置文件,從新運行vim打開一個c源文件,按F5鍵便可在右邊子窗口看到當前文件的個元素的列表,上下鍵移動選擇條目按回車便可跳到函數定義處,F1查看幫助信息,在選擇的對象上按<space>能夠在狀態欄看到各元素的定義;按減號(-)關閉一個節點,按*打開關閉的結點
4、後記
上面四個插件就是我當前閱讀源代碼的IDE配置,對於我來講已經足夠知足個人工做須要了;因爲此次時間倉促Vim裏面還有不少人性化的配置及插件沒來得及發現,隨着我對Vim更深刻的瞭解及在使用過程當中遇到的新問題,還會有更多優秀的功能及插件,到時候再來分享。
爲了方便的保存每次的工做狀態及再次運行Vim的時候恢復上次工做狀態須要在~/.vimrc中添加以下兩行配置(也就是Vim的Session管理功能):
1.
map <F2> :mksession! ~/vim_session <cr> " Quick write session with F2
2.
map <F3> :source ~/vim_session <cr> " And load session with F3