1. 程式人生 > >[轉]Winxp下 gvim 程式設計環境搭建

[轉]Winxp下 gvim 程式設計環境搭建

2010-07-30

Winxp下 gvim 程式設計環境搭建

1.官方網站下載最新的gvim7.1 win32,然後選擇完全安裝;我是安裝在d:vim目錄下面,安裝後的目錄結構如下: **D:VIM ├─vim71 **│ ├─autoload │ ├─colors │ ├─compiler │ ├─doc │ ├─ftplugin │ ├─indent │ ├─keymap │ ├─lang │ ├─macros │ ├─plugin │ ├─spell │ ├─syntax │ ├─tools │ └─tutor **└─vimfiles **├─after ├─autoload ├─colors ├─compiler ├─doc ├─ftdetect ├─ftplugin ├─indent ├─keymap ├─plugin └─syntax

2.安裝常用外掛:

vimdoc http://vcd.gro.clinux.org    (中文)
安裝 直接安裝即可,安裝時會自動搜尋到vim的安裝位置,然後安裝到相應的目錄
使用 :h
說明 中文幫助文件
taglist http://www.vim.org/scripts/script.php?script_id=273
安裝 解壓到vim71目錄下面
使用 :Tlist
說明 需要Ctags產生的tags檔案配合
WinManager http://www.vim.org/scripts/script.php?script_id=95
安裝 解壓到vim71目錄下面
使用 wm,這個命令是通過在_vimrc中配置後才能有,具體配置見後面的_vimrc檔案
說明 此外掛的作用是將TagList視窗和netrw視窗整合起來
Ctags http://ctags.sourceforge.net
安裝 解壓到vim71目錄下面
使用 ctags -R --c++-kinds=+p --fields=+iaS --extra=+q src 在對C++檔案進行補全時,OmniCppComplete外掛需要在標籤檔案中包含C++的額外資訊,因此上面的ctags命令不同於以前我們所使用的,它專門為C++語言生成一些額外的資訊.
說明 其實只是一個ctags.exe檔案,用來產生tags檔案供其它外掛使用
MiniBufExplorer http://www.vim.org/scripts/script.php?script_id=159
安裝 將minibufexpl.vim放 到vim71/plugin 資料夾中即可;
使用 開啟多個檔案後,自動在頂端出現檔案標籤,雙擊滑鼠或者Ctrl+tab鍵可以切換檔案;
說明
grep http://www.vim.org/scripts/script.php?script_id=311
安裝 將grep.vim放 到vim71/plugin 資料夾中即可;
使用 安裝後會在選單=》工具中增加search子選單,也可以用命令:grep或者按照後面給出的_vimrc檔案對映快捷鍵F3
說明 需要windows版本的grep.exe程式配合; 到http://unxutils.sourceforge.net/下載unxutils工具包裡面包含grep.exe,把grep.exe放到系統c:windowssystem32下面即可。
omnicppcomplete http://www.vim.org/scripts/script.php?script_id=1520
安裝 解壓到vimfiles目錄下面;
使用 配合後面的supertab外掛,使用Tab鍵進行自動完成;
說明 如果要對c++檔案進行自動完成,需要生成tag檔案時用特殊的選項,見後面的_vimrc配置檔案
a http://www.vim.org/scripts/script.php?script_id=31
安裝 將a.vim放 到vim71/plugin 資料夾中即可;
使用 :A
說明 在原始檔和標頭檔案之間進行切換
Supertab http://www.vim.org/scripts/script.php?script_id=1643
安裝 將supertab.vim放 到vim71/plugin 資料夾中即可;
使用 配合前面的omnicppcomplete外掛,使用Tab鍵進行自動完成;
說明
NERD_commenter http://www.vim.org/scripts/script.php?script_id=1218
安裝 解壓到vim71目錄下面
使用 http://xiaobo.spaces.live.com/blog/cns!5ec21dee9b73c1a8!814.entry
說明
lookupfile http://www.vim.org/scripts/script.php?script_id=1581
安裝 解壓到vimfiles目錄下面;
使用 根據後面的_vimrc配置檔案,使用F5鍵開啟搜尋視窗;Tab鍵進行選擇
說明 依賴於外掛genutils
genutils http://www.vim.org/scripts/script.php?script_id=197
安裝 解壓到vimfiles目錄下面;
使用 這個外掛提供了一些通用的函式,可供其它的指令碼使用
說明 供lookupfile外掛使用
clearcase [http://p.blog.csdn.net/images/p_blog_csdn_net/minico/EntryImages/20081123/gvim.JPG](http://p.blog.csdn.net/images/p_blog_csdn_net/minico/EntryImages/20081123/gvim.JPG)
安裝 解壓到vimfiles目錄下面;
使用 這個外掛提供一些常用的clearcase命令
說明

3._vimrc配置檔案

set nocompatible source $VIMRUNTIME/vimrc_example.vim source $VIMRUNTIME/mswin.vim behave mswin set diffexpr=MyDiff() function MyDiff() let opt = '-a --binary ' if &diffopt =~ 'icase' | let opt = opt . '-i ' | endif if &diffopt =~ 'iwhite' | let opt = opt . '-b ' | endif let arg1 = v:fname_in if arg1 =~ ' ' | let arg1 = '"' . arg1 . '"' | endif let arg2 = v:fname_new if arg2 =~ ' ' | let arg2 = '"' . arg2 . '"' | endif let arg3 = v:fname_out if arg3 =~ ' ' | let arg3 = '"' . arg3 . '"' | endif let eq = '' if $VIMRUNTIME =~ ' ' if &sh =~ '<cmd' let cmd = '""' . $VIMRUNTIME . 'diff"' let eq = '"' else let cmd = substitute($VIMRUNTIME, ' ', '" ', '') . 'diff"' endif else let cmd = $VIMRUNTIME . 'diff' endif silent execute '!' . cmd . ' ' . opt . arg1 . ' ' . arg2 . ' > ' . arg3 . eq endfunction "+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ " Add by minico---begin "+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ "設定幫助語言 set helplang=cn,en "把gui的工具欄去掉(要去掉,把等號前面的加號變成一個減號即可) set guioptions+=T "把gui的右邊的滑動條去掉 set guioptions+=r "把gui的左邊的滑動條去掉 set guioptions-=L "把gui的選單去掉 set guioptions+=m filetype on let Tlist_Show_Menu = 1 " 這項必須設定,否則出錯,配置taglist的ctags路徑 "let Tlist_Ctags_Cmd = 'D:Vimvim71ctags.exe' "設定Taglist let Tlist_Show_One_File=1 let Tlist_Exit_OnlyWindow=1 " 使用F8開啟Taglist nnoremap :TlistToggle "設定視窗大小和位置 set lines=80 set columns=200 winpos 0 0 "設定tags檔案路徑 set tags=G:lwiptags "設定檔案瀏覽器視窗顯示方式 "通過WinManager外掛來將TagList視窗和netrw視窗整合起來 let g:winManagerWindowLayout='FileExplorer|TagList' nmap wm :WMToggle "設定SuperTab,用tab鍵開啟cppcomplet的自動補全功能。 let g:SuperTabRetainCompletionType=2 let g:SuperTabDefaultCompletionType="" "顯示行號 set number "開啟語法高亮顯示功能 syntax enable syntax on "設定主題顏色 colorscheme desert "則可以用<C-h,j,k,l>切換到上下左右的視窗中去 let g:miniBufExplMapWindowNavVim = 1 "按F12時在一個新的buffer中開啟ch檔案 nnoremap :A "用F3呼叫grep查詢當前游標所在處的字串 nnoremap :Grep "為了使用智慧補全,開啟檔案型別檢測,關閉VI相容模式 filetype plugin indent on set nocp "關掉智慧補全時的預覽視窗,這樣可以防止閃屏現象 set completeopt=longest,menu "====================Lookupfile 相關設定======================================== let g:LookupFile_MinPatLength = 2               "最少輸入2個字元才開始查詢 let g:LookupFile_PreserveLastPattern = 0        "不儲存上次查詢的字串 let g:LookupFile_PreservePatternHistory = 1     "儲存查詢歷史 let g:LookupFile_AlwaysAcceptFirst = 1          "回車開啟第一個匹配專案 let g:LookupFile_AllowNewFiles = 0              "不允許建立不存在的檔案 if filereadable("./filenametags")                "設定tag檔案的名字 let g:LookupFile_TagExpr = '"./filenametags"' endif "nmap lk LookupFile   "對映LookupFile為,lk "nmap ll :LUBufs            "對映LUBufs為,ll "nmap lw :LUWalk            "對映LUWalk為,lw "有了上面的定義,當我輸入”,lk”時,就會在tag檔案中查詢指定的檔名; "當輸入”,ll”時,就會在當前已開啟的buffer中查詢指定名字的buffer; "當輸入”,lw”時,就會在指定目錄結構中查詢。 "在用lookupfile外掛查詢檔案時,是區分檔名的大小寫的, "如果想進行忽略大小寫的匹配,把下面這段程式碼加入你的vimrc中, "就可以每次在查詢檔案時都忽略大小寫查找了: " lookup file with ignore case function! LookupFile_IgnoreCaseFunc(pattern) let _tags = &tags try let &tags = eval(g:LookupFile_TagExpr) let newpattern = 'c' . a:pattern let tags = taglist(newpattern) catch echohl ErrorMsg | echo "Exception: " . v:exception | echohl NONE return "" finally let &tags = _tags endtry " Show the matches for what is typed so far. let files = map(tags, 'v:val["filename"]') return files endfunction let g:LookupFile_LookupFunc = 'LookupFile_IgnoreCaseFunc' "====================Lookupfile 相關設定 end======================================== "+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ " Add by minico---end "+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ </td> </tr> </tbody> </table> 4.實際效果: ![](http://p.blog.csdn.net/images/p_blog_csdn_net/minico/EntryImages/20081123/gvim.JPG) ![](http://p.blog.csdn.net/images/p_blog_csdn_net/minico/2.JPG) 5.參考文件: (1)http://blog.csdn.net/wooin/archive/2007/10/31/1858917.aspx (2)http://blog.csdn.net/easwy/category/234641.aspx

如非註明轉載, 均為原創. 本站遵循知識共享CC協議,轉載請註明來源