不用多说
我用配置完的一个VIM包 里面含有很多的插件 下载地址
下载后直接解药到D盘下酒可以使用 要是不在这个目录下 请你更改对应的配置文件:
下面是配置文件的内容:
if(has("win32") || has("win95") || has("win64") || has("win16")) "判定当前操作系统类型
let g:iswindows=1
else
let g:iswindows=0
endif
autocmd FileType java set omnifunc=javacomplete#Complete
"设定windows下 gvim 启动时最大化
autocmd GUIEnter * simalt ~x
"基本配置
set wildmenu
" 隐藏掉菜单和工具条。
set guioptions-=M
set guioptions-=F
map
\set guioptions-=T
\set guioptions-=m
\else
\set guioptions+=T
\set guioptions+=m
\endif
" 启动的时候不显示那个援助索马里儿童的提示
set shortmess=atI
" browsedir设置
set browsedir=buffer
" 载入文件类型插件
filetype plugin on
" 自动格式化设置
filetype indent on
set autoindent
set smartindent
" 带有如下符号的单词不要被换行分割
set iskeyword+=_,$,@,%,#,-
" 当buffer被丢弃时隐藏
set bufhidden=hide
" C++头文件识别
au BufEnter /usr/include/c++/* setf cpp
au BufEnter /usr/include/g++-3/* setf cpp
" GNU标准
"au BufEnter /usr/* call GnuIndent()
" 窗口最大化
"autocmd GUIEnter * simalt ~x
" 可以在buffer的任何地方使用鼠标(类似office中在工作区双击鼠标定位)
set mouse=a
set selection=exclusive
set selectmode=mouse,key
" 允许backspace和光标键跨越行边界
set whichwrap+=<,>,h,l
" 使回格键(backspace)正常处理indent, eol, start等
set backspace=eol,start,indent
" 自动补全括号,包括大括号
:inoremap ( ()
:inoremap )
:inoremap { {}
:inoremap }
:inoremap [ []
:inoremap ]
:inoremap < <>
:inoremap >
" 打开文件时,总是跳到退出之前的光标处
autocmd BufReadPost *
\ if line("'\"") > 0 && line("'\"") <= line("$") |
\ exe "normal! g`\"" |
\ endif
if has("gui_running")
set showtabline=2
map! tn tabnew
nmap
endif
" 用浅色高亮当前行
if has("gui_running")
autocmd InsertLeave * se nocul
autocmd InsertEnter * se cul
endif
" 标签页只显示文件名
function ShortTabLabel ()
let bufnrlist = tabpagebuflist (v:lnum)
let label = bufname (bufnrlist[tabpagewinnr (v:lnum) -1])
let filename = fnamemodify (label, ':t')
return filename
endfunction
"设置= + - * 前后自动空格
"设置,后面自动添加空格
au FileType python inoremap
au FileType python inoremap
au FileType python inoremap
au FileType python inoremap
au FileType python inoremap
au FileType python inoremap
au FileType python inoremap
au FileType python inoremap
au FileType python inoremap
"实现括号的自动配对后防止重复输入),适用python
function! ClosePair(char)
if getline('.')[col('.') - 1] == a:char
return "\
else
return a:char
endif
endf
"设置养眼的模式
colorscheme evening
"增强模式中的命令行自动完成操作
set foldmethod=manual
"设定折叠方式为手动
set helplang=cn
"设置帮助的语言为中文
set cin
"实现C程序的缩进
set sw=4
"设计(自动) 缩进使用4个空格
set sta
"插入
set backspace=2
"指明在插入模式下可以使用
syntax enable
"设置高亮关键字显示
set nocompatible
"去掉讨厌的有关vi一致性模式,避免以前版本的一些bug和局限
set number
"显示行号
filetype on
"检测文件的类型
map
set history=1000
""记录历史的行数
" 在搜索的时候忽略大小写
set ignorecase
set background=dark
"背景使用黑色
syntax on
"语法高亮度显示
set autoindent
set smartindent
"上面两行在进行编写代码时,在格式对起上很有用;
"第一行,vim使用自动对起,也就是把当前行的对起格式应用到下一行;
"第二行,依据上面的对起格式,智能的选择对起方式,对于类似C语言编写上很有用
" 在被分割的窗口间显示空白,便于阅读
set fillchars=vert:\ ,stl:\ ,stlnc:\
"第一行设置tab键为4个空格,第二行设置当行之间交错时使用4个空格
set tabstop=4
set shiftwidth=4
set showmatch
" 高亮字符,让其不受100列限制
:highlight OverLength ctermbg=red ctermfg=white guibg=red guifg=white
:match OverLength '\%101v.*'
" 总是显示状态行
set laststatus=2
" 状态行颜色
highlight StatusLine guifg=SlateBlue guibg=Yellow
"highlight StatusLine guifg=SlateBlue guibg=White
highlight StatusLineNC guifg=Gray guibg=White
" 我的状态行显示的内容(包括文件类型和解码)
set statusline=[%n]%<%f%y%h%m%r%=[%b\ 0x%B]\ %l\ of\ %L,%c%V\ Page\ %N\ %P
" 匹配括号高亮的时间(单位是十分之一秒)
set matchtime=3
" 设置命令行高度为2行
set cmdheight=1
"设置匹配模式,类似当输入一个左括号时会匹配相应的那个右括号
set ruler
"在编辑过程中,在右下角显示光标位置的状态行
set incsearch
"查询时非常方便,如要查找book单词,当输入到/b时,会自动找到第一
"个b开头的单词,当输入到/bo时,会自动找到第一个bo开头的单词,依
"次类推,进行查找时,使用此设置会快速找到答案,当你找要匹配的单词
"时,别忘记回车。
set enc=chinese
"设置编码为中文
" 增强检索功能
set tags=./tags,./../tags,./**/tags
set winaltkeys=no
"Alt组合键不映射到菜单上
set helplang=cn
filetype plugin on
"禁止自动改变当前Vim窗口的大小
let Tlist_Inc_Winwidth=0
"把方法列表放在屏幕的右侧
let Tlist_Use_Right_Window=1
"让当前不被编辑的文件的方法列表自动折叠起来, 这样可以节约一些屏幕空间
let Tlist_File_Fold_Auto_Close=1
let Tlist_Show_One_File=1
let Tlist_Exit_OnlyWindow=1
"映射F4为功能键调出tages浏览器
"映射F3为功能键调出winmanager的文件浏览器
"let g:winManagerWindowLayout='FileExplorer|TagList' "你要是喜欢这种布局可以注释掉这一行
map
map
"将当前的工程的tags导入
set tags=.\tags
"将系统已经生成的tags导入
set tags+=D:\Vim\vimfiles\tags\stl_tags
set tags+=D:\Vim\vim72\tags\cpp_src\tags
set tags+=D:\Vim\
map
nmap
nmap
nmap
nmap
nmap
nmap
nmap
nmap
function Do_CsTag()
if(executable('cscope') && has("cscope") )
if(g:iswindows!=1)
silent! execute "!find . -name '*.h' -o -name '*.c' -o -name '*.cpp' -o -name '*.java' -o -name '*.cs' -o -name '*.cxx' -o -name '*.hxx'> cscope.files"
else
silent! execute "!dir /b *.c,*.cpp,*.h,*.java,*.cs >> cscope.files"
endif
silent! execute "!cscope -bq"
if filereadable("cscope.out")
execute "cs add cscope.out"
endif
endif
endf
"定义源代码格式化
map
"定义FormartSrc()
func FormartSrc()
exec "w"
"C程序,Perl程序,Python程序
if &filetype == 'c'
exec "!astyle --style=gnu --suffix=none %"
exec "e! %"
elseif &filetype == 'cpp'
exec "!astyle --style=gnu --suffix=none %"
exec "e! %"
elseif &filetype == 'perl'
exec "!astyle --style=gnu --suffix=none %"
exec "e! %"
elseif &filetype == 'py'
exec "!astyle --style=gnu --suffix=none %"
exec "e! %"
"Java程序
elseif &filetype == 'java'
exec "!astyle --style=java --suffix=none %"
exec "e! %"
elseif &filetype == 'jsp'
exec "!astyle --style=gnu --suffix=none %"
exec "e! %"
elseif &filetype == 'xml'
exec "!astyle --style=gnu --suffix=none %"
exec "e! %"
elseif &filetype == 'html'
exec "!astyle --style=gnu --suffix=none %"
exec "e! %"
elseif &filetype == 'htm'
exec "!astyle --style=gnu --suffix=none %"
exec "e! %"
endif
endfunc
"结束定义FormartSrc
"设置tab的快捷键
"Shift+t为新建一个标签,按两次Shirt+t为跳转标签
map
map
"设置建立新行但是不插入
map
"设置全选快捷键
map
"设置快速不保存退出快捷键
map
"替换
map
imap
"设置快速注释键
"set completeopt=menu"详细注释
"F12是在该行后边添加注释,Shift+F12为注释掉该行,两次Shift+F12是去掉改行的注释,然后将光标置于下一行
nnoremap
map
map!
map
map!
map
map!
setlocal omnifunc=javacomplete#Complete
autocmd Filetype java set completefunc=javacomplete#CompleteParamsInf
inoremap
inoremap
autocmd Filetype javascript,jsp,cpp inoremap
autocmd Filetype java,javascript,css,html,xml,cpp inoremap
autocmd Filetype java,javascript,css,html,xml,cpp inoremap
autocmd Filetype java,javascript,css,html,xml,cpp inoremap
autocmd Filetype java,javascript,css,html,xml,cpp inoremap
autocmd Filetype java,javascript,css,html,xml,cpp inoremap
autocmd Filetype java,javascript,css,html,xml,cpp inoremap
autocmd Filetype java,javascript,css,html,xml,cpp inoremap
autocmd Filetype java,javascript,css,html,xml,cpp inoremap
autocmd Filetype java,javascript,css,html,xml,cpp inoremap
autocmd Filetype java,javascript,css,html,xml,cpp inoremap
autocmd Filetype java,javascript,css,html,xml,cpp inoremap
autocmd Filetype java,javascript,css,html,xml,cpp inoremap
autocmd Filetype java,javascript,css,html,xml,cpp inoremap
autocmd Filetype java,javascript,css,html,xml,cpp inoremap
autocmd Filetype java,javascript,css,html,xml,cpp inoremap
autocmd Filetype java,javascript,css,html,xml,cpp inoremap
autocmd Filetype java,javascript,css,html,xml,cpp inoremap
autocmd Filetype java,javascript,css,html,xml,cpp inoremap
autocmd Filetype java,javascript,css,html,xml,cpp inoremap
autocmd Filetype java,javascript,css,html,xml,cpp inoremap
autocmd Filetype java,javascript,css,html,xml,cpp inoremap
autocmd Filetype java,javascript,css,html,xml,cpp inoremap
autocmd Filetype java,javascript,css,html,xml,cpp inoremap
autocmd Filetype java,javascript,css,html,xml,cpp inoremap
autocmd Filetype java,javascript,css,html,xml,cpp inoremap
autocmd Filetype java,javascript,css,html,xml,cpp inoremap
autocmd Filetype java,javascript,css,html,xml,cpp inoremap
autocmd Filetype java,javascript,css,html,xml,cpp inoremap
autocmd Filetype java,javascript,css,html,xml,cpp inoremap
autocmd Filetype java,javascript,css,html,xml,cpp inoremap
autocmd Filetype java,javascript,css,html,xml,cpp inoremap
autocmd Filetype java,javascript,css,html,xml,cpp inoremap
autocmd Filetype java,javascript,css,html,xml,cpp inoremap
autocmd Filetype java,javascript,css,html,xml,cpp inoremap
autocmd Filetype java,javascript,css,html,xml,cpp inoremap
autocmd Filetype java,javascript,css,html,xml,cpp inoremap
autocmd Filetype java,javascript,css,html,xml,cpp inoremap
autocmd Filetype java,javascript,css,html,xml,cpp inoremap
autocmd Filetype java,javascript,css,html,xml,cpp inoremap
autocmd Filetype java,javascript,css,html,xml,cpp inoremap
autocmd Filetype java,javascript,css,html,xml,cpp inoremap
autocmd Filetype java,javascript,css,html,xml,cpp inoremap
autocmd Filetype java,javascript,css,html,xml,cpp inoremap
autocmd Filetype java,javascript,css,html,xml,cpp inoremap
autocmd Filetype java,javascript,css,html,xml,cpp inoremap
autocmd Filetype java,javascript,css,html,xml,cpp inoremap
autocmd Filetype java,javascript,css,html,xml,cpp inoremap
autocmd Filetype java,javascript,css,html,xml,cpp inoremap
autocmd Filetype java,javascript,css,html,xml,cpp inoremap
autocmd Filetype java,javascript,css,html,xml,cpp inoremap
autocmd Filetype java,javascript,css,html,xml,cpp inoremap
autocmd Filetype java,javascript,css,html,xml,cpp inoremap
"设置编译快捷键
"F5为make,两次F5为make clean
"F6为quickfix,查看详细信息, 两次F6关闭详细信息
"F7为下一个结果,两次F7为上一个结果
"F8为编译和运行单个程序、两次F8为调试
map
map
map
map
map
map
map
map
map
autocmd FileType cpp map
"定义CompileRun函数,用来对不用外接库的小程序进行编译和运行,自己可以根据文件名扩展或实际情况修改参数
set autochdir
func CompileRun()
exec "w"
"C程序
if &filetype == 'c'
exec "!gcc % -g -o %<"
exec "!.\/%<"
endif
if &filetype == 'cpp'
exec "!g++ % -g -o %<"
exec "!.\/%<"
endif
if &filetype == 'java'
exec "!javac -verbose %"
exec "!java %<"
endif
endfunc
"结束定义CompileRun
"定义Debug函数,用来调试小程序
func Debug()
exec "w"
"C程序
if &filetype == 'c'
exec "!rm %<"
exec "!gcc % -g -o %<"
exec "!gdb %<"
elseif &filetype == 'cpp'
exec "!rm %<"
exec "!g++ % -g -o %<"
exec "!gdb %<"
"Java程序
exec "!rm %<.class"
elseif &filetype == 'java'
exec "!javac %"
exec "!jdb %<"
endif
endfunc
"定义dubug结束
autocmd BufNewFile *.cc,*.sh,*.java exec ":call SetTitle()"
"新建.cc,.java,.sh,
"定义函数SetTitle,自动插入文件头
func SetTitle()
"如果文件类型为.sh文件
if &filetype == 'sh'
call setline(1, "\#!/bin/bash")
call append(line("."), "\#########################################################################")
call append(line(".")+1, "\# Author: gnuhpc(http://blog.csdn.net/gnuhpc)")
call append(line(".")+2, "\# Created Time: ".strftime("%c"))
call append(line(".")+3, "\# File Name: ".expand("%"))
call append(line(".")+4, "\# Description: ")
call append(line(".")+5, "\#########################################################################")
call append(line(".")+6, "")
else
call setline(1, "/*************************************************************************")
call append(line("."), " Author: gnuhpc(http://blog.csdn.net/gnuhpc)")
call append(line(".")+1, " Created Time: ".strftime("%c"))
call append(line(".")+2, " File Name: ".expand("%"))
call append(line(".")+3, " Description: ")
call append(line(".")+4, " ************************************************************************/")
call append(line(".")+5, "")
endif
endfunc
"自动将shell脚本设置为可执行权限
au BufWritePost * if getline(1) =~ "^#!" | if getline(1) =~ "/bin/" | silent !chmod a+x
if has("autocmd")
autocmd BufRead *.txt set tw=78
autocmd BufReadPost *
\ if line("'\"") > 0 && line ("'\"") <= line("$") |
\ exe "normal g'\"" |
\ endif
endif
""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
"vim7.1在windows下的编码设置。
""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
set encoding=utf-8
set fileencodings=utf-8,chinese,latin-1
if has("win32")
set fileencoding=utf-8
else
set fileencoding=gbk,utf-8
endif
"解决菜单乱码
source $VIMRUNTIME/delmenu.vim
source $VIMRUNTIME/menu.vim
"解决consle输出乱码
language messages zh_CN.utf-8
配置文件东拼西凑没有整理 不要见笑啊