VIM 打造自己的VIM界面!
1 zen coding
功能就不多说了!看下图:
首先下载zencoding!
官方下载地址:http://code.google.com/p/zen-coding/
zecoding.vim放到Vim\vimfiles\plugin文件夹下。
zencoding.txt放到Vim\vimfiles\doc文件夹下。
将autoload文件夹下文件拷贝到相应目录下即可。(当初就是缺少这一操作,导致一直安装失败)
2 NERDTree
将NERDTree下载下来后,解压放到Vim\vimfiles\plugin目录下即可。下面看下配置:
"NERDTree execute quick key setup map <F4> :NERDTree<CR> "将NERDTree放置在编辑区右边 "let NERDTreeWinPos=1 "设置NERDTree的宽度,默认为30 let NERDTreeWinSize=25 "let NERDTreeMinimalUI=1 "是否显示书签 let NERDTreeShowBookmarks=0 "显示隐藏文件 "let NERDTreeShowHidden=1 let NERDTreeStatusline=0 let NERDChristmasTree=1
3 javacomplete
可能很多人都要想去用代码提示。毕竟用ide用多了嘛!可是貌似vim没有带java 的自动提示功能。
那么怎么办呢!
这个时候javacomplete就有用处了。
先去vim官网下载下来javacomplete.解压缩后将javacomplete.doc放到Vim\vimfiles\doc目录下。
然后将autoload中的javacomplete.vim放到autoload目录下。
Reflection.java编译后的class文件也放到autoload目录下。同时将class文件放到jdk的lib目录下。
同时将你的vim中的autoldo目录配置到环境变量classpath中。比如我的就是C:\Program Files\Vim\vim73\autoload;
然后在你的_vimrc文件中加入:
"包括其他各种语言,如php java javascript 都能自动补全 filetype plugin indent on "打开文件配置 autocmd FileType ruby,eruby set omnifunc=rubycomplete#Complete autocmd FileType python set omnifunc=pythoncomplete#Complete autocmd FileType javascript set omnifunc=javascriptcomplete#CompleteJS autocmd FileType html set omnifunc=htmlcomplete#CompleteTags autocmd FileType css set omnifunc=csscomplete#CompleteCSS autocmd FileType xml set omnifunc=xmlcomplete#CompleteTags autocmd FileType java set omnifunc=javacomplete#Complete if has("autocmd") && exists("+omnifunc") autocmd Filetype * \ if &omnifunc == "" | \ setlocal omnifunc=syntaxcomplete#Complete | \ endif endif let g:rubycomplete_buffer_loading = 1 let g:rubycomplete_classes_in_global = 1 "let g:rubycomplete_rails = 1 autocmd FileType java inoremap <buffer> . .<C-X><C-O><C-P>
然后用vim打开你的文件,到输入模式下,输入<c-x><c-o><c-p>就能看到自动补全效果。
这里说下本人刚开始配置不成功的几个原因:
第一个由于没有打开文件配置:
filetype plugin indent on "打开文件配置
还有就是一下一段语句没写:
if has("autocmd") && exists("+omnifunc") autocmd Filetype * \ if &omnifunc == "" | \ setlocal omnifunc=syntaxcomplete#Complete | \ endif endif
由于开始没有配置最后一句
autocmd FileType java inoremap <buffer> . .<C-X><C-O><C-P>
导致没次提示都会自动选中第一个选择,每次都要去删除。
最后一句能够实现自动选择。
4 Taglist
同样先去下载Taglist包
将文件夹中的文件放到相应的目录下。
然后在_vimrc文件中如下配置:
"taglist配置 let Tlist_Show_One_File=1 "只有taglist一个窗口时退出vim let Tlist_Exit_OnlyWindow=1 "taglist出现的右边 let Tlist_Use_Right_Window=1 let Tlist_WinHeight = 30 "设置宽度 let Tlist_WinWidth=20 "减少标签列表窗口中的空白行 let Tlist_Compact_Format=1 "让当前不被编辑的文件的方法列表自动折叠起来 let Tlist_File_Fold_Auto_Close=1 "显示taglist菜单 let Tlist_Show_Menu=1 "如果Taglist窗口是最后一个窗口时退出VIM let Tlist_Exit_OnlyWindow = 1 "配置快捷 map <F3> :TlistToggle <CR>
4 minibufexpl
先去官网下载:minibufexpl,解压后拷贝到Vim\vimfiles\plugin目录下。
然后在_vimrc文件中加入:
let g:miniBufExplMapWindowNavVim = 1 let g:miniBufExplMapWindowNavArrows = 1 let g:miniBufExplMapCTabSwitchBufs = 1 let g:miniBufExplModSelTarget = 1 let g:miniBufExplMoreThanOne=0
5 winManager合并NERDTree和Taglist
下载winManager解压缩后文件拷贝到Vim\vimfiles\plugin
然后在_vimrc文件中配置如下:
let g:NERDTree_title="[NERDTree]" let g:winManagerWindowLayout="NERDTree|TagList" function! NERDTree_Start() exec 'NERDTree' endfunction function! NERDTree_IsValid() return 1 endfunction nmap wm :WMToggle<CR>
如果需要自动开启:
"自动开启,可以选择开启vim即启用winmanaer,那么将需要将vimmanager.vim中的AutoOpenWinManger的注释取消。 "let g:AutoOpenWinManager = 1
那么这里winManager会有一个小bug,就是开启的时候会出现一个空白页。如果需要去清除掉。
用两种办法。
如果是自动启动那么需要一个在vimManager.vim中最后加一段代码如下:
"set auto open Winmanager "if g:AutoOpenWinManager " "NERDTree放置在左边配置方式 " autocmd VimEnter * nested call s:StartWindowsManager()|1wincmd q " "NERDTree放置在右边配置方式 " "autocmd VimEnter * nested call s:StartWindowsManager()|1wincmd w|q "endif
这里如果是winManager放在在编辑区的左边则用第一种方式,如果在右边则用第二种。
当然默认是第一种。
如果不是自动启动:
刚去winManager.vin中将ToggleWindowsManager修改为如下即可:
function! <SID>ToggleWindowsManager() if IsWinManagerVisible() call s:CloseWindowsManager() else call s:StartWindowsManager() "exe 'q' end endfunction
6 在vim实现editplus中在浏览器中查看的功能。(能够查看多种文件哦,如php html jsp 等)
在_vimrc中配置如下:
"直接在vim中输入run 调用浏览器访问页面 function! ViewInBrowser(name) let file = expand("%:p") exec ":update " . file let l:browsers = { \"cr":"D:/WebDevelopment/Browser/Chrome/Chrome.exe", \"ff":"D:/WebDevelopment/Browser/Firefox/Firefox.exe", \"op":"D:/WebDevelopment/Browser/Opera/opera.exe", \"ie":"C:/progra~1/intern~1/iexplore.exe", \"ie6":"D:/WebDevelopment/Browser/IETester/IETester.exe -ie6", \"ie7":"D:/WebDevelopment/Browser/IETester/IETester.exe -ie7", \"ie8":"D:/WebDevelopment/Browser/IETester/IETester.exe -ie8", \"ie9":"D:/WebDevelopment/Browser/IETester/IETester.exe -ie9", \"iea":"D:/WebDevelopment/Browser/IETester/IETester.exe -all" \} let htdocs='C:\\AppServ\\www\\' let strpos = stridx(file, substitute(htdocs, '\\\\', '\', "g")) if strpos == -1 exec ":silent !start ". l:browsers[a:name] ." file://" . file else let file=substitute(file, htdocs, "http://localhost:81/", "g") let file=substitute(file, '\\', '/', "g") exec ":silent !start ". l:browsers[a:name] file endif endfunction :command Runie call ViewInBrowser("ie")
这里只要你的文件是在 htdocs 的目录下,那么都会以http协议的方式去访问。也就是会去用浏览器的方式打开它。
7 Tcomment
从vim的官网上下载Tcomment.vba
用vim打开它,输入:so%,vim将会自动将该插件放入到~/.vim/plugin下 .
然后用vim打开文件,选中你需要注释的行,在normal模式下输入gc即可注释。
8 snipmate
将从那官网上下载的snipmate放到相应的目录下。
然后打开一个java 文件,输入 main 然后按tab键
则会出现如下代码:
public static void main (String [] args) { /* code */ }
其显示方案可以在snippets文件夹中相应的文件中自定义修改。
如图:
最后附上一张配置了一天的vim界面。自己感觉还不错吧!