我的VIM配置是基於http://amix.dk 網站的vimrc的。
配置過程可以參考[http://amix.dk/blog/post/19486#The-ultimate-vim-configuration-vimrc]
首先從vim.org網站下載vim7.3的安裝程序,安裝。
然后通過SVN工具下載svn://orangoo.com/vim中的文件,將其全部復制到$VIM\vimfiles目錄下。
修改$VIM\_vimrc,在文件末尾添加:
{{{
"add zxim.dk vim
fun! MySys()
return "windows"
endfun
source $VIM\vimfiles\vimrc
}}}
執行:helptags $VIM\vimfiles\doc導入幫助文件
由於我的插件路徑和zikm的路徑不同,所以還需要對原文件進行一下修改一下:
找到
{{{
if MySys() == "windows"
" Fast editing of the .vimrc
map <leader>e :e! ~/_vim_runtime/vimrc<cr>
" When vimrc is edited, reload it
autocmd! bufwritepost vimrc source ~/_vim_runtime/vimrc
}}}
將其中的vimrc路徑改為$VIM\vimfiles\vimrc
這樣安裝后的GVIM在中文環境下是有亂碼的,需要把以下配置注釋掉:
{{{
set encoding=utf8
try
lang en_US
catch
endtry
}}}
我個人是希望能夠把minibuf放在窗口頂部的,所以對MiniBuffer的配置做如下修改:
{{{
"let g:miniBufExplVSplit = 30
"let g:miniBufExplSplitBelow=1
let g:miniBufExplSplitToEdge = 1
let g:miniBufExplMaxSize = 3
}}}
另外去掉menubar toolbar, scrollbar:
{{{
set guioptions-=T
set guioptions-=m
set guioptions-=L
set guioptions-=r
}}}
這樣就安裝了amix的配置,下面添加我自己的配置。
從vim.org下載vimwiki插件,這是vba格式,使用GVim打開,在Normal模式下執行:so %即可安裝成功。
對於vimwiki我們可以配置wiki文件的路徑如下:
{{{
let g:vimwiki_list = [{'path': 'D:\D\VimWiki', 'path_html': 'D:\D\VimWiki\html'}]
}}}
下載vimgtd,解壓后復制到$VIM\vimfiles\目錄下,就安裝了gtd插件,由於snipMate對於<tab>的映射與vimwiki重復,所以需要禁掉
{{{
let g:vimwiki_table_auto_fmt = 0
}}}
並為vimgtd添加如下快捷方式:
{{{
map <leader>tt :TaskToday<cr>
map <leader>tn :TaskAll<cr>
}}}
下載Ctag和Cscope的可執行文件,並將其解壓目錄加到環境變量的path中去。
http://sourceforge.net/projects/mslk/files/
http://ctags.sourceforge.net/
下載taglist和cscope_map(http://cscope.sourceforge.net/cscope_maps.vim) 並安裝。
為cscope添加配置如下:
{{{
if has("cscope")
if MySys() == "linux"
set csprg=/usr/bin/cscope
else
set csprg=cscope
endif
set csto=1
set cst
set nocsverb
" add any database in current directory
if filereadable("cscope.out")
cs add cscope.out
endif
set csverb
endif
}}}
為taglist添加配置如下:
{{{
if MySys() == "windows"
let Tlist_Ctags_Cmd = 'ctags'
elseif MySys() == "linux"
let Tlist_Ctags_Cmd = '/usr/bin/ctags'
endif
let Tlist_Show_One_File = 1
let Tlist_Exit_OnlyWindow = 1
let Tlist_Use_Right_Window = 1
nmap <silent> <leader>tl :Tlist<cr>
}}}