Vim是從vi發(fā)展出來(lái)的一個(gè)文本編輯器。代碼補(bǔ)完、編譯及錯(cuò)誤跳轉(zhuǎn)等方便編程的功能特別豐富,在程序員中被廣泛使用。
1.安裝gvim7.2。
運(yùn)行g(shù)vim72.exe,選擇完全安裝(Full),我的安裝目錄是默認(rèn)的C:\Program Files\Vim。
安裝完成后,包括了文件夾vim72和文件夾vimfiles,以及腳本_vimrc。
2.安裝中文幫助手冊(cè)。
運(yùn)行vimcdoc-1.7.0-setup.exe,它會(huì)自動(dòng)找到gvim的安裝位置。
安裝完畢后重新打開(kāi)gvim,:help 時(shí)幫助手冊(cè)已經(jīng)是中文的了。
進(jìn)行到這一步時(shí),我的gvim菜單處的中文出現(xiàn)了亂碼。
在網(wǎng)上尋找解決方案,將C:\Program Files\Vim\vim72下名為 lang 的文件夾刪去,使菜單語(yǔ)言變?yōu)橛⒄Z(yǔ)。
3.語(yǔ)法高亮。
首先,編輯_vimrc文件加入以下內(nèi)容:
set nu!
colorscheme desert
syntax enable
syntax on
這些設(shè)置使得gvim可以顯示行號(hào),并使用了desert配色方案,而且打開(kāi)了語(yǔ)法高亮功能(用不同顏色顯示注釋、關(guān)鍵字、字符串等)。
我們還可以讓函數(shù)名也高亮起來(lái),在C:\Program Files\Vim\vim72\syntax下找到 c.vim 和 cpp.vim,分別添加以下內(nèi)容:
syn match cFunction "\<[a-zA-Z_][a-zA-Z_0-9]*\>[^()]*)("me=e-2
syn match cFunction "\<[a-zA-Z_][a-zA-Z_0-9]*\>\s*("me=e-1
hi cFunction gui=NONE guifg=#B5A1FF
重新打開(kāi)gvim,效果如下:
4.程序中跳轉(zhuǎn)。
將ec57w32.zip解壓,在解壓后文件夾中找到ctags.exe,將其復(fù)制到C:\ProgramFiles\Vim\vim72下,并編輯_vimrc文件,添加以下內(nèi)容:
set tags=tags;
set autochdir
打開(kāi)cmd命令行,切換到你要查看的源代碼的根目錄處,運(yùn)行
ctags -R
將會(huì)在此目錄處生成一個(gè)tags文件。
用gvim打開(kāi)一個(gè)代碼文件,將光標(biāo)放到某一函數(shù)名上,如下圖的UpdateViewByPosNo(),按下"ctrl+]",光標(biāo)會(huì)自動(dòng)跳轉(zhuǎn)到定義處。
按下"ctrl+T"會(huì)跳回到原來(lái)的位置。
變量、結(jié)構(gòu)體、宏等等,都可以這樣做。
當(dāng)你的源文件有更新時(shí),只能重新運(yùn)行ctags -R命令,來(lái)更新tags文件。
5.窗口管理。
將taglist_45.zip解壓,解壓后包含一個(gè)doc文件夾和一個(gè)plugin文件夾,將其中內(nèi)容分別復(fù)制到C:\Program Files\Vim\vim72下的doc及plugin中。
在_vimrc文件中加入以下內(nèi)容:
let Tlist_Show_One_File=1
let Tlist_Exit_OnlyWindow=1
用gvim打開(kāi)代碼文件(已生成過(guò)tags文件),:Tlist,TagList窗口即出現(xiàn)在左側(cè)。
用相同的方法將winmanager.zip解壓和拷貝,在_vimrc文件中加入以下內(nèi)容:
let g:winManagerWindowLayout='FileExplorer|TagList'
nmap wm :WMToggle
用gvim打開(kāi)代碼文件,normal狀態(tài)下輸入命令"wm",窗口如下
其中左上是netrw窗口(瀏覽文件),左下是TagList窗口,再次輸入"wm"時(shí)這兩個(gè)窗口會(huì)關(guān)閉。
6.多文件編輯。
將minibufexpl.vim復(fù)制到C:\Program Files\Vim\vim72\plugin,在_vimrc中添加:
let g:miniBufExplMapCTabSwitchBufs=1
let g:miniBufExplMapWindowsNavVim=1
let g:miniBufExplMapWindowNavArrows=1
當(dāng)用gvim打開(kāi)兩個(gè)或兩個(gè)以上的文件時(shí),會(huì)自動(dòng)彈出MiniBufExplorer窗口,如下圖
ctrl+Tab,切換到前一個(gè)buffer,并在當(dāng)前窗口打開(kāi)文件;
ctrl+shift+Tab,切換到后一個(gè)buffer,并在當(dāng)前窗口打開(kāi)文件;
ctrl+箭頭鍵,可以切換到上下左右窗口中;
ctrl+h,j,k,l,切換到上下左右的窗口中。
7.快速切換頭文件/源文件。
將a.vim復(fù)制到C:\Program Files\Vim\vim72\plugin,在_vimrc中添加:
nnoremap
用gvim打開(kāi)源碼文件后,按F12即可以在c/h文件中切換,也可以通過(guò)輸入:A實(shí)現(xiàn)。
8.在工程中快速查找。
將grep.vim復(fù)制到C:\Program Files\Vim\vim72\plugin,在_vimrc中添加:
nnoremap
用gvim打開(kāi)源碼文件,并將光標(biāo)定位到要查找的內(nèi)容上,按下F3,確定要查找的內(nèi)容和搜索范圍,gvim會(huì)在彈出的QuickFix窗口中列出所有符合條件的搜索結(jié)果。如下圖
確定查找內(nèi)容時(shí),支持正則表達(dá)式。
9.高亮的書(shū)簽。
將visualmark.vim復(fù)制到C:\Program Files\Vim\vim72\plugin。
用gvim打開(kāi)源碼文件,將光標(biāo)定位在需要添加書(shū)簽的地方,按下ctrl+F2,即添加了書(shū)簽。
使用F2在書(shū)簽之間正向切換,shift+F2反向切換。