Gvim Win7环境 for java (一)
经常听到vim和Emacs 两个神器但是重来没用过,身为一个程序员总感觉有那么一点遗憾。趁着这次需要学习jvm的机会就顺便学下怎么用vim吧。环境是windows,编辑器用的是Gvim.
跳过什么下载安装不说直接说碰到的问题:
Gvim用的是自动安装到C盘,需要改其中的配置的时候碰到不能修改的问题,按w!不行:答案是右击这个vimrc文件,选择属性->安全->组或用户->Users
编辑,把权限中的的完全控制选上。编辑的时候用w!就能够修改了。
续:安装第一个插件
初学Gvim确实很费力气,插件多没经验折腾了半天其实就是简单的几步而已
插件:NERDTree 功能是显示目录,还看到很多有意思的插件 winmanager什么的以后有机会再装试试看
step:
(1)下载NERDTree的压缩包,解压之后又doc,plugin什么的几个
(2)把这些全都放到(如果是默认安装)C:\Program Files\Vim\vimfiles下的对应文件夹
OK完毕,亏我当初看了这么久。。。。。。暴汗
启动Gvim,输入 :NERDTree 就可以显示了效果如下
PS:如果想看某刻文件夹下的目录可以先:cd X:\xx(文件路径)..再开启NERDTree
闲每次打这个NERDTree烦的话可以在vimrc中设置快捷键
nnoremap <silent> <F5> :NERDTree<CR>
顺便copy过来一些常用快捷键:
ctrl + w + w 光标自动在左右侧窗口切换
o 展开左侧某个目录,再按一下就是合并目录
t 在新 Tab 中打开选中文件/书签,并跳到新 Tab T 在新 Tab 中打开选中文件/书签,但不跳到新 Tab
P 跳到根结点 p 跳到父结点
q 关闭 NerdTree 窗口
希望还有动力更新~~
第一次修改后的vimrc
set nocompatible source $VIMRUNTIME/vimrc_example.vim source $VIMRUNTIME/mswin.vim behave mswin "2013/10/26 "line number set nu! "set color colorscheme desert "set hight light enable syntax enable "set high light as system default syntax on nnoremap <silent> <F5> :NERDTree<CR> " set hot key for NERDTree set shortmess=atI "去除开启是的索马里救助信息 set list "display the tab set listchars=tab:\|\-"高亮竖线代替 set tabstop=4 "tab=4 set autoindent "自动对齐 set smartindent "智能缩进 set softtabstop=4 set shiftwidth=4 "换行交错4空格 set noexpandtab "不适用space代替tab set guifont=Monaco:h10 "set font set scrolloff=3 "光标到buffer的底部顶部保持3行距离 set cursorline "突显当前行 set completeopt=longest,menu "Ctrl+N代码不全 set nowrap "不要换行显示一行 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