vim bundle安裝


一、准備工作

安裝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的配置內容: 加載中...加載中...

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
17. 17 " git repos on your local machine (i.e. when working on your own 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 ctags

二、生成tags文件

    為了可以利用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狀態欄顯示當前文件中定義的宏的內容(不用跳轉)

三、按需添加插件

(1)顯示目錄樹插件(NERDTree)

在~/.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)

(2)文件查找插件(CtrlP)

在~/.vimrc的Plugin段中添加一行安裝配置:Plugin 'kien/ctrlp.vim' 在~/.vimrc里面修改該插件的打開命令按鍵映射及配置:

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>可以在狀態欄看到各元素的定義;按減號(-)關閉一個節點,按*打開關閉的結點

 四、后記

  上面四個插件就是我當前閱讀源代碼的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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM