項目托管在github上https://github.com/gmarik/vundle。
其特點在于使用git來管理插件,更新方便,支持搜索,1鍵更新,從此只需要1個vimrc走天下。
在vimrc文件中添加以下內容來啟用vundle管理vim插件的功能:
set rtp+=$VIM/vimfiles/bundle/vundle/
call vundle#rc('$VIM/vimfiles/bundle/')
Bundle 'gmarik/vundle'
如果是linux系統,可以以下添加:
set rtp+=~/.vim/bundle/vundle/
call vundle#rc()
Bundle 'gmarik/vundle'
- :BundleList -羅列出列表中(.vimrc中)配置的所有插件
- :BundleInstall -安裝列表中全部插件
- :BundleInstall! -更新列表中全部插件
- :BundleSearch foo -查找foo插件
- :BundleSearch! foo -刷新foo插件緩存
- :BundleClean -清除列表中沒有的插件
- :BundleClean! -清除列表中沒有的插件
taglist是1個用于顯示定位程序中各種符號的插件,例如宏定義、變量名、結構名、函數名這些東西 我們將其稱之為符號(symbols),而在taglist中將其稱之為tag。明顯,要想將程敘文件中的tag顯示出來,需要事前了解全部tag的信 息,并將其保存在1個文件中,然后去解析對應的tag文件。taglist做的僅僅是將tag文件中的內容解析完后顯示在Vim上而已。tag掃描和數 據文件的生成則是由ctags(Exuberant Ctags)這1工具完成的,所以在使用taglist之前,你的電腦需要裝有ctags。
vimrc配置信息:
Bundle 'taglist.vim'
let Tlist_Ctags_Cmd='ctags'
let Tlist_Show_One_File=1 "不同時顯示多個文件的tag,只顯示當前文件的
let Tlist_WinWidt =28 "設置taglist的寬度
let Tlist_Exit_OnlyWindow=1 "如果taglist窗口是最后1個窗口,則退出vim
"let Tlist_Use_Right_Window=1 "在右邊窗口中顯示taglist窗口
let Tlist_Use_Left_Windo =1 "在左邊窗口中顯示taglist窗口
跳到光標下tag所定義的位置,用鼠標雙擊此tag功能也1樣
o 在1個新打開的窗口中顯示光標下tag
顯示光標下tag的原型定義
u 更新taglist窗口中的tag
s 更改排序方式,在按名字排序和按出現順序排序間切換
x taglist窗口放大和縮小,方便查看較長的tag
+ 打開1個折疊,同zo
- 將tag折疊起來,同zc
* 打開所有的折疊,同zR
= 將所有tag折疊起來,同zM
[[ 跳到前1個文件
]] 跳到后1個文件
q 關閉taglist窗口
tagbar是1個taglist的替換品,比taglist更合適c++使用,函數能夠按類辨別,支持按類折疊顯示等,顯示結果清晰簡潔。
由于taglist在使用進程中對中文支持不好,當文件夾是中文的時候,沒法生成taglist,因而這里我使用tagbar,它可以很好的解決中文的問題。
https://github.com/majutsushi/tagbar
關于tagbar的配置:
Bundle 'majutsushi/tagbar'
"nmap <Leader>tb :TagbarToggle<CR> "快捷鍵設置
let g:tagbar_ctags_bin='ctags' "ctags程序的路徑
let g:tagbar_width=30 "窗口寬度的設置
map <F3> :Tagbar<CR>
"autocmd BufReadPost *.cpp,*.c,*.h,*.hpp,*.cc,*.cxx call tagbar#autoopen() "如果是c語言的程序的話,tagbar自動開啟
更多的配置請參看:help tagbar
配置好以后可使用:Tagbar
或按配置的快捷鍵F3
開啟。
NERDTree是1個用于閱讀文件系統的樹形資源管理外掛,它可讓你像使用Windows檔案總管1樣在VIM中閱讀文件系統并且打開文件或目錄。
https://github.com/scrooloose/nerdtree
vimrc配置信息:
Bundle 'scrooloose/nerdtree'
let NERDTreeWinPos='right'
let NERDTreeWinSize=30
map <F2> :NERDTreeToggle<CR>
配置以后可使用:NERDTree
或配置的快捷鍵F2
開啟。
MiniBufExplorer提供多文件同時編輯功能,并在編輯器上方顯示文件的標簽。
https://github.com/fholgado/minibufexpl.vim
vimrc配置信息:
Bundle 'fholgado/minibufexpl.vim'
let g:miniBufExplMapWindowNavVim = 1
let g:miniBufExplMapWindowNavArrows = 1
let g:miniBufExplMapCTabSwitchBufs = 1
let g:miniBufExplModSelTarget = 1
let g:miniBufExplMoreThanOne=0
map <F11> :MBEbp<CR>
map <F12> :MBEbn<CR>
這里配置了F11和F12鍵來進行前后buffer的跳轉,比較方便。如果要關閉某個buffer的話,可使用命令:MBEbd [num]
,如果只是輸入:MBEbd
是關閉當前buffer,如果后面跟有buffer的數字標號,則關閉指定的buffer。
這里還想說1些BufExplorer這個插件,這個插件和MiniBufExplorer的功能差不多,網上也有1些討論他們之間的優缺點,但是我將BufExplorer和WinManager1起使用的時候總是會有些問題,致使1些毛病和沖突,因而還是決定使用簡單的MiniBufExplorer。
vim-airline實際上是powerline的copy,它相比powerline有幾個好處:它是純vim script,powerline則用到python;它簡單,速度比powerline快。
這是1款狀態欄增強插件,可讓你的Vim狀態欄非常的美觀,同時包括了buffer顯示條擴大smart tab line和集成了1些插件。
https://github.com/bling/vim-airline
vimrc配置信息:
Bundle 'bling/vim-airline'
set laststatus=2
這個WinManager已好久沒有更新了,本來的版本有很多小bug,使用起來非常不爽,在網上找了1些改進的方法,感覺總是不盡人意,終究決定啟用。
這里只是給出在使用的時候查找的1些信息。
vimrc配置信息:
Bundle 'vim-scripts/winmanager'
let g:NERDTree_title="[NERDTree]"
let g:winManagerWindowLayout="NERDTree|BufExplorer"
function! NERDTree_Start()
exec 'NERDTree'
endfunction
function! NERDTree_IsValid()
return 1
endfunction
nmap wm :WMToggle<CR>
這個版本的Winmanager好像有個小bug,你在打開Winmanager界面時,會同時打開1個空的文件。這會影響后續使用,所以我們要在打開Winmanager時關掉這個空文件。winmanager.vim文件中找到ToggleWindowsManager函數定義并在修改成以下內容:
function! <SID>ToggleWindowsManager()
if IsWinManagerVisible()
call s:CloseWindowsManager()
else
call s:StartWindowsManager()
exe 'q'
end
endfunction
由于在windows下默許是gb編碼,而vim默許是utf⑻,所以打開會成亂碼。修改了1下配置文件,使vim支持gb編碼就行了。
修改1下vimrc配置文件:
let &termencoding=&encoding
set fileencodings=utf⑻,gbk
encoding變量:該選項使用于緩沖的文本(你正在編輯的文件)、寄存器、Vim腳本文件等等。你可以把 ‘encoding’ 選項當作是對 Vim 內部運行機制的設定。
encoding變量的默許值與系統當前locale相同。
fileencoding變量:該選項是vim寫入文件時采取的編碼類型。
vim打開文件時自動辨認其編碼,fileencoding就為辨認的值。為空則保存文件時采取encoding的編碼,如果沒有修改encoding,那值就是系統當前locale了。
termencoding變量:該選項代表輸出到客戶終端(Term)采取的編碼類型。
默許空值,也就是輸出到終端不進行編碼轉換。
pathogen讓每一個插件占有1個單獨的目錄,解決了文件分散的問題。安裝完pathogen以后,只需要在~/.vim/目錄下新建1個目錄~/.vim/bundle/,并將要安裝的所有插件放在~/.vim/bundle/目錄下便可以使用。如果要刪除某個插件,只需要將~/.vim/bundle/目錄下對應的插件目錄刪除便可。如果想保持某個插件為最新版本,直接從插件的倉庫checkout1份代碼到bundle目錄便可。
pathogen的下載地址為:https://github.com/tpope/vim-pathogen
下載后可以直接解壓。pathogen插件只有1個單獨的腳本,所謂安裝就是把它放在當前用戶的 ~/.vim/autoload 目錄下便可。
即,將解壓后的autoload目錄連同里面的pathogen.vim插件拷貝到~/.vim/目錄下。
要啟用pathogen,還需要在~/.vimrc 文件里, filetype plugin indent on 之前的任何地方,加入下面這句:
call pathogen#infect()
要安裝新插件,只需要下載該插件,并將其放到~/.vim/bundle/目錄下便可。
假定要下載安裝NERDTree插件,只需要進入到~/.vim/bundle/目錄,然后履行以下命令:
git clone http://github.com/scrooloose/nerdtree.git
下載完成后,會看到~/.vim/bundle/目錄下會多出1個新的目錄:nerdtree。NERDTree插件已安裝完成了!可以看到這類方式比傳統的vim插件安裝方式簡單多了!
而要卸載該插件也非常簡單,只需要在~/.vim/bundle/目錄下刪除nerdtree目錄便可,干凈爽利!
要更新該插件到最新版本,只需要進入到該目錄~/.vim/bundle/nerdtree/,并履行以下命令:
git pull origin
雖然使用pathogen這類方法也能夠很好的管理vim插件,相比于vundle,它們都是使用git環境來下載插件的,但是vundle感覺更加自動化,可以直接使用命令就可以進行插件的更新和管理。
vim配置及插件安裝管理(超級詳細)
使用taglist插件
vim顯示中文成亂碼問題解決
Vim插件便捷管理(使用git submodule和pathogen)
vim插件管理利器:pathogen
轉載請注明作者Jason Ding及其出處
GitCafe博客主頁(http://jasonding1354.gitcafe.io/)
Github博客主頁(http://jasonding1354.github.io/)
CSDN博客(http://blog.csdn.net/jasonding1354)
簡書主頁(http://www.jianshu.com/users/2bd9b48f6ea8/latest_articles)
百度搜索jasonding1354進入我的博客主頁
上一篇 Thread 的join