Ubuntu安裝vim插件的步驟(2)
4.NERDTree
Source insight右邊是文件列表窗口,顯示了工程的所有文件名。文件管理插件NERDTree具有類似的功能,該插件可以顯示當(dāng)前目錄下所有文件和目錄,并方便地瀏覽和操作文件。
Vim addon manager沒有NERDTree插件,需要自己下載NERDTree,下載后將plugin/NERD_tree.vim 和doc/NERD_tree.txt分別復(fù)制到.vim的相應(yīng)目錄下
為了讓winmanager順利打開NERDTree窗口,在.vimrc中增加下面代碼,
let g:NERDTree_title=‘[NERD Tree]’function! NERDTree_Start() exec ‘NERDTree’endfunctionfunction! NERDTree_IsValid() return 1endfunction
5.winmanager
為了像source insight一樣同時(shí)顯示多個(gè)窗口,需要winmanager插件。
vim-addons install winmanager
同時(shí)在winmanager中顯示NERDTree和taglist窗口,默認(rèn)在左邊,
let g:winManagerWindowLayout=‘NERDTree|TagList’
設(shè)置快捷鍵wm打開winmanager,
nmap wm :WMToggle《cr》 wm命令打開
設(shè)置窗口轉(zhuǎn)換快捷鍵,不過在用了MiniBufExplorer后有更方便的選擇,
map 《c-w》《c-b》 :BottomExplorerWindow《cr》 跳到下面窗口
map 《c-w》《c-f》 :FirstExplorerWindow《cr》 跳到上面窗口
最好打開vim時(shí)會(huì)自動(dòng)打開winmanager窗口,
let g:AutoOpenWinManager = 1
同時(shí)修改winmanager.vim
“set auto open Winmanagerif g:AutoOpenWinManager autocmd VimEnter * nested call s:StartWindowsManager()|3wincmd w|q endif
其中3表示打開后光標(biāo)在第3個(gè)窗口,即源文件窗口。1,2分別表示NERDTree和taglist窗口。
因?yàn)閣inmanager總會(huì)打開一個(gè)沒有用的空窗口,不知道為什么,需要最后加q關(guān)閉它。如果是用WMToggle打開winmanager的話,要關(guān)閉這個(gè)空窗口就需要在winmanager.vim的ToggleWindowsManager函數(shù)中增加q。
function! 《SID》ToggleWindowsManager() if IsWinManagerVisible() call s:CloseWindowsManager() else call s:StartWindowsManager() ”close empty window
exe ‘q’ end
endfunction
更多請(qǐng)查看
?。篽elp winmanager
6.MiniBufExplorer
寫程序的時(shí)候肯定會(huì)多個(gè)源文件同時(shí)編輯,像source insight就有個(gè)window list,保存了最近打開過的所有源文件。Vim通過buffer來達(dá)到類似的作用,buffer的命令操作包括
:ls 顯示當(dāng)前打開的所有文件
?。篵n 跳到下一個(gè)文件
?。篵p 跳到上一個(gè)文件
?。篵d 刪除一個(gè)buffer
MiniBufExplorer插件提供了更直觀的方式,將buffer顯示在最上端的窗口內(nèi),窗口操作包括
《Tab》 向前循環(huán)切換到每個(gè)buffer名上
《S-Tab》 向后循環(huán)切換到每個(gè)buffer名上
《Enter》 在打開光標(biāo)所在的buffer
d 刪除光標(biāo)所在的buffer
為了只在在源碼窗口打開選中的buffer,需要設(shè)置miniBufExplModSelTarget,默認(rèn)是關(guān)閉的,
let g:miniBufExplModSelTarget = 1
不過MiniBufExplorer還有個(gè)更重要的功能是可以實(shí)現(xiàn)用CTRL鍵加h|j|k|l方便地切換窗口,
let g:miniBufExplMapWindowNavVim = 1 用《CTRL-h|j|k|l》切換到上下左右窗口
7.OmniCppComplete
大部分IDE都支持自動(dòng)補(bǔ)全功能,vim作為linux下優(yōu)秀的編輯器當(dāng)然不缺少,不過vim自帶的補(bǔ)全功能,ctrl+n,ctrl+p可以再當(dāng)前源文件中實(shí)現(xiàn)簡(jiǎn)單的補(bǔ)全功能,但這是遠(yuǎn)遠(yuǎn)不夠的。OmniCppComplete利用了Ctags生成的tag數(shù)據(jù)庫(kù),實(shí)現(xiàn)了文件間名字補(bǔ)全,包括
命名空間(namespace),類(class),結(jié)構(gòu)(struct)和聯(lián)合(union)補(bǔ)全
函數(shù)屬性成員和返回值類型補(bǔ)全
“this”指針成員補(bǔ)全
C/C++類型轉(zhuǎn)換(cast)對(duì)象補(bǔ)全
類型定義(typedef)和匿名類型(anonymous types)補(bǔ)全
安裝好后輸入時(shí)鍵入ctrl+x ctrl+o就會(huì)補(bǔ)全當(dāng)前名字,使用過IDE的同學(xué)都知道補(bǔ)全只要一個(gè)tab鍵就行了,按這么多鍵太麻煩了。這就需要supertab插件的幫助了,
Vim-addons install supertab
安裝好后,設(shè)置以下選項(xiàng),
let g:SuperTabRetainCompletionType=2
letg:SuperTabDefaultCompletionType=“《C-X》《C-O》”
SuperTabDefaultCompletionType設(shè)置tab鍵對(duì)應(yīng)的命令,
SuperTabRetainCompletionType表示
0- 不記錄上次的補(bǔ)全方式
1- 記住上次的補(bǔ)全方式,直到用其他的補(bǔ)全命令改變它
2- 記住上次的補(bǔ)全方式,直到按ESC退出插入模式為止
8.surround
在在編程時(shí)會(huì)遇到大量的匹對(duì)符號(hào),如“,(,{等等,高效地處理這些符號(hào)可以大大地提高編程效率,Surround正是處理這些符號(hào)的非常優(yōu)秀等等插件。
Surround的使用非常簡(jiǎn)單明了(*代表當(dāng)前光標(biāo)位置):
插入符號(hào)
Hellow*orld! ysiw) Hello (world)!
或者
Hellow*orld! veS) Hello (world)!
替換
“Hello*world!” cs“‘ ’Hello world!‘
刪除
”Hello*world!“ ds” Hello world!
至此,在安裝了以上插件后,vim已經(jīng)具備了強(qiáng)大的編輯功能。當(dāng)然,這里只是列出一些基本插件,還有很多其他有趣又好用的插件,比如注釋用的NERD_commenter.vim,高亮?xí)灥腣isualMark,頭文件切換的a.vim等等,以后有機(jī)會(huì)再研究。
上面就是Ubuntu上安裝vim插件的方法介紹了,安裝插件后的vim將擁有更多的功能,以滿足程序編輯的需要,如果你還沒有安裝這些vim插件,不妨為自己的系統(tǒng)安裝下吧。
Ubuntu安裝vim插件的步驟(2)
上一篇:Ubuntu磁盤整理命令匯總
下一篇:Ubuntu如何安裝配置JRE