由于团队开发需要,很多很多程序员肯定都在windows下开发程序。最近在开发有关extjs、php组合的程序,项目组用的是 netbeans开发工具。我主要负责php的代码,extjs还在学习当中。学习嘛,只是开发开发静态的程序,不需要劳师动众,用到 netbeans(因为netbeans很慢很慢很慢...)。所以呢,就想到了GVim了。
说干就干,首先下载,google随便一搜索,就有一大堆。毕竟他是大哥级的编辑器。
安装完成以后就是配置工作了。自己一个个配置太麻烦了,毕竟我们都知道vim的配置项多的让人数不清。那就改人家的吧,我们不必浪费时间去重复 研究苹果为什么会从树上掉下来。下面是我在网上找的一个配置文件,最原始的出处已经找不到了,因为实在有太多人引用这个文档了。
"# modified by Neoh
set helplang=cn "使用中文帮助文档
set encoding=utf-8 "查看utf-8格式的帮助文档
set fileencodings=utf-8,gbk,utf8 "支持打开gbk格式的文件
colorscheme darkblue "设置窗口颜色
set guifont=Bitstream\ Vera\ Sans\ Mono\ 12 "设置字体为Bitstream Vera Sans Mono 12大小
set tabstop=4 "设置tab的跳数
"set expandtab "使用空格代替tab 在写Makefile时需要有tab
set backspace=2 "设置退格键可用
set nu! "设置显示行号
set wrap "设置自动换行
"set nowrap "设置不自动换行
set linebreak "整词换行,与自动换行搭配使用,效果很好
set whichwrap=b,s,<,>,[,] "光标可以从行首和行尾跳到另一行去
"set list "显示制表符
"set listchars=tab:.\ ,trail:. "将制表符显示为'. '
set autochdir "自动设置当前目录为正在编辑的目录
set hidden "自动隐藏没有保存的缓冲区,切换buffer时不给出保存当前buffer的提示
set scrolloff=5 "在光标接近底端或顶端时,自动下滚或上滚.
"Toggle Menu and Toolbar 隐藏菜单栏和工具栏
"set guioptions-=m
"set guioptions-=T
"map <silent> <F2> : if &guioptions =~# 'T' <bar>
" \set guioptions-=T <bar>
" \set guioptions-=m <bar>
" \else <Bar>
" \set guioptions+=T <bar>
" \set guioptions+=m <bar>
" \endif<CR>
"========================================================================================================
"查找/替换相关的设置
"========================================================================================================
set hlsearch "高亮显示查找结果
set incsearch "增量查找
set gdefault "替换时,使用g标签成为默认设置. 在替换时,替换本行所有符合的匹配
"========================================================================================================
"状态栏的设置
"========================================================================================================
set statusline=[%F]%y%r%m%*%=[Line:%l/%L,Column:%c][%p%%] "显示文件名: 总行数, 总的字符数
set ruler "在编辑过程中, 在右下角显示光标位置的状态行
"========================================================================================================
"设置C++开发环境
"========================================================================================================
syntax enable "打开语法高亮
syntax on "打开语法高亮
"在.vim/syntax/c.vim文件中设置了运算符,函数名等高亮
set showmatch "设置匹配模式, 相当于括号匹配
set smartindent "智能对齐
set shiftwidth=4 "换行时,交错使用4个空格
set autoindent "设置自动对齐
set ai! "设置自动缩进
"--------------------------------------------------------------------------------------------------------
"代码折叠
"--------------------------------------------------------------------------------------------------------
"--------------------------------------------------------------------------------------------------------
"窗口操作的快捷键
"--------------------------------------------------------------------------------------------------------
nmap wv <C-w>v "垂直分割当前窗口
nmap wc <C-w>c "关闭当前窗口
nmap ws <C-w>s "水平分割当前窗口
"--------------------------------------------------------------------------------------------------------
"插件配置
"--------------------------------------------------------------------------------------------------------
"TList
let Tlist_Show_One_File=1
let Tlist_Exit_OnlyWindow=1 "设置Tlist
"winmannger
let g:winManagerWindowLayout='FileExplorer|TagList' "将winmanager设置成浏览器和TagList的组合
nmap wm :WMToggle<cr> "映射winmanager的快捷键
"cscope
set cscopequickfix=s-,c-,d-,i-,t-,e- "设定使用quickfix窗口来显示cscope的结果
"映射cscope的快捷键
nmap <F5>s :cs find s <C-R>=expand("<cword>")<CR><CR>
nmap <F5>g :cs find g <C-R>=expand("<cword>")<CR><CR>
nmap <F5>c :cs find c <C-R>=expand("<cword>")<CR><CR>
nmap <F5>t :cs find t <C-R>=expand("<cword>")<CR><CR>
nmap <F5>e :cs find e <C-R>=expand("<cword>")<CR><CR>
nmap <F5>f :cs find f <C-R>=expand("<cfile>")<CR><CR>
nmap <F5>i :cs find i <C-R>=expand("<cfile>")<CR>$<CR>
nmap <F5>d :cs find d <C-R>=expand("<cword>")<CR><CR>
"nmap <C-_>s :cs find s <C-R>=expand("<cword>")<CR><CR>
"nmap <C-_>g :cs find g <C-R>=expand("<cword>")<CR><CR>
"nmap <C-_>c :cs find c <C-R>=expand("<cword>")<CR><CR>
"nmap <C-_>t :cs find t <C-R>=expand("<cword>")<CR><CR>
"nmap <C-_>e :cs find e <C-R>=expand("<cword>")<CR><CR>
"nmap <C-_>f :cs find f <C-R>=expand("<cfile>")<CR><CR>
"nmap <C-_>i :cs find i <C-R>=expand("<cfile>")<CR>$<CR>
"nmap <C-_>d :cs find d <C-R>=expand("<cword>")<CR><CR>
"映射QuickFix的快捷键
nmap <F6> :cw<cr> "打开quickfix窗口
nmap <F8> :cn<cr> "前一项
nmap <F7> :cp<cr> "后一项
"MiniBufExp
"let g:miniBufExplMapWindowNavVim = 1 "使用<C-h,j,k,l>在窗口之间移动
"let g:miniBufExplMapWindowNavArrows = 1 "使用<C-箭头>在窗口之间移动
"BufTab
noremap <C-h> :bprev<CR> "使用<C-h>切换到上一个buffer
noremap <C-l> :bnext<CR> "使用<C-l>切换到下一个buffer
let g:buftabs_only_basename=1 "只显示文件名,忽略路径名
set laststatus=2 "和下面的设置一起将buffer名显示在状态栏中
let g:buftabs_in_statusline=1
"A
nnoremap <silent> <F9> :AV<cr> "将F9设置成头/源文件切换的快捷键,将窗口分为左右两个窗口,并打开.h/.c文件
let g:alternateSearchPath = 'sfr:./,sfr:../include,sfr:http://www.cnblogs.com/include,sfr:../source,sfr:../src,sfr:../inc'
"Grep
"将F3设置成Grep查找的快捷键
nnoremap <silent> <F3> :Grep<cr>
"设置补全
filetype plugin indent on
set completeopt=longest,menu
"设置超级补全
"let g:SuperTabRetainCompletionType=2
"let g:SuperTabDefaultCompletionType="<C-X><C-O>"
"设置Doxygen的注释
let g:DoxygenToolkit_blockHeader="--------------------------------------------------------------------------"
let g:DoxygenToolkit_blockFooter="----------------------------------------------------------------------------"
let g:DoxygenToolkit_authorName="W.Y.X"
let g:DoxygenToolkit_briefTag_funcName = "yes"
map <F4>a :DoxAuthor<cr>
map <F4>f :Dox<cr>
map <F4>b :DoxBlock<cr>
map <F4>c O/** */<Left><Left>
"设置robix阅读时的ctags和cscope的设置,有时间写一个脚本自动设置。
"脚本思路是将所有工程都放在/home/aleln/workspace/下面使用搜索来自动添加设置
"set tags=/home/aleln/workspace/robix3/tags
"cs add /home/aleln/workspace/robix3/cscope.out /home/aleln/workspace/robix3