下面是我配置的vim文件(2012-3-21):
set nocompatible "不要使用vi的键盘模式,而是vim自己的 source $VIMRUNTIME/mswin.vim behave mswin "兼容windows下的快捷键 """"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" " GVIM自身的设置 """"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" language messages zh_CN.utf-8 " 解决consle输出乱码 colorscheme desert " 灰褐色主题 set guioptions-=T " 隐藏工具栏 set guifont=Monaco:h10 " 字体 && 字号 set noerrorbells " 关闭错误提示音 set nobackup " 不要备份文件 set linespace=0 " 字符间插入的像素行数目 set shortmess=atI " 启动的时候不显示那个援助索马里儿童的提示 set novisualbell " 不要闪烁 set scrolloff=3 " 光标移动到buffer的顶部和底部时保持3行距离 set mouse=a " 可以在buffer的任何地方 -> set selection=exclusive " 使用鼠标(类似office中 -> set selectmode=mouse,key " 在工作区双击鼠标定位) set cursorline " 突出显示当前行 set nu! " 显示行号 set whichwrap+=<,>,h,l " 允许backspace和光标键跨越行边界 set completeopt=longest,menu "按Ctrl+N进行代码补全 """"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" " 文本格式和排版 """"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" set list " 显示Tab符,-> set listchars=tab:\|\ , " 使用一高亮竖线代替 set tabstop=4 " 制表符为4 set autoindent " 自动对齐(继承前一行的缩进方式) set smartindent " 智能自动缩进(以c程序的方式) set softtabstop=4 set shiftwidth=4 " 换行时行间交错使用4个空格 set noexpandtab " 不要用空格代替制表符 set cindent " 使用C样式的缩进 set smarttab " 在行和段开始处使用制表符 set nowrap " 不要换行显示一行 """"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" " 状态行(命令行)的显示 """"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" set cmdheight=2 " 命令行(在状态行下)的高度,默认为1,这里是2 set ruler " 右下角显示光标位置的状态行 set laststatus=2 " 开启状态栏信息 set wildmenu " 增强模式中的命令行自动完成操作 """"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" " 文件相关 """"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" set fenc=utf-8 set encoding=utf-8 " 设置vim的工作编码为utf-8,如果源文件不是此编码,vim会进行转换后显示 set fileencoding=utf-8 " 让vim新建文件和保存文件使用utf-8编码 set fileencodings=utf-8,gbk,cp936,latin-1 filetype on " 侦测文件类型 filetype indent on " 针对不同的文件类型采用不同的缩进格式 filetype plugin on " 针对不同的文件类型加载对应的插件 syntax on " 语法高亮 filetype plugin indent on " 启用自动补全 """"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" " 查找 """"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" set hlsearch " 开启高亮显示结果 set nowrapscan " 搜索到文件两端时不重新搜索 set incsearch " 开启实时搜索功能 """"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" " 语言的编译和运行 " 支持的语言:java F5编译(保存+编译) F6运行 """"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" func! CompileCode() exec "w" if &filetype == "java" exec "!javac -encoding utf-8 %" endif endfunc func! RunCode() if &filetype == "java" exec "!java -classpath %:h; %:t:r" endif endfunc " F5 保存+编译 map <F5> :call CompileCode()<CR> " F6 运行 map <F6> :call RunCode()<CR> """"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" " 实用功能 """"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" "--------引号 && 括号自动匹配 :inoremap ( ()<ESC>i :inoremap ) <c-r>=ClosePair(')')<CR> :inoremap { {}<ESC>i :inoremap } <c-r>=ClosePair('}')<CR> :inoremap [ []<ESC>i :inoremap ] <c-r>=ClosePair(']')<CR> ":inoremap < <><ESC>i ":inoremap > <c-r>=ClosePair('>')<CR> :inoremap " ""<ESC>i :inoremap ' ''<ESC>i :inoremap ` ``<ESC>i function ClosePair(char) if getline('.')[col('.') - 1] == a:char return "\<Right>" else return a:char endif endf "--------启用代码折叠,用空格键来开关折叠 set foldenable " 打开代码折叠 set foldmethod=syntax " 选择代码折叠类型 set foldlevel=100 " 禁止自动折叠 nnoremap <space> @=((foldclosed(line('.')) < 0) ? 'zc':'zo')<CR> """"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" " 插件 """"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" " <F9>打开文件浏览窗口 插件为WinManager let g:winManagerWindowLayout='FileExplorer' nmap <F9> :WMToggle<CR> " MiniBufExplorer let g:miniBufExplMapWindowNavVim = 1 let g:miniBufExplMapWindowNavArrows = 1 let g:miniBufExplMapCTabSwitchBufs = 1 let g:miniBufExplModSelTarget = 1
显示的效果是:
这些配置是我综合网上给出的多个配置文件,并结合自己的使用情况及理解程度,综合整理而来的,实现的功能有限。
这里推荐一个配置文件: http://www.oschina.net/code/snippet_103341_8984,我从中也借鉴不少。
使用方法:将附件_vimrc.zip中的_vimrc覆盖掉你的gvim路径下的_vimrc即可。
经过一番配置文件的编写,我深深体会vim的强大,体会到什么叫做定制、扩展,真是一千个Vimer就有一千个Vim。
更新2012-3-12:①在配置文件中添加 ”set completeopt=longest,menu "按Ctrl+N进行代码补全 “
②修改了javac命令的调用,不修改的话javac会按照gbk编码来编译,当源文件中有中文注 释时,会报错,因此在javac命令的后面指定了使用utf-8编码来编译。
更新2012-3-21:添加了两个插件,一个是文件浏览(F9 打开/关闭),一个是多标签编辑文件(ctrl+tab 进行切换)。插件打开后的效果是(要将_vimrc.zip中其它的3个文件放在gvim路径下vimfiles/plugin文件夹下):
更新2012-7-20:将运行java的命令修改为"!java -classpath %:h; %:t:r",解决 haithink 提到的问题。