set nocompatible
source $VIMRUNTIME/vimrc_example.vim
source $VIMRUNTIME/mswin.vim
behave mswin


"主题设置
"colorscheme solarized
"set bg=dark


"字体设置
set guifont=Meslo_LG_S:h10:cANSI


"高亮列
"set cc=81


"块选择快速跳转问题
set virtualedit=block
set nostartofline


"忘了这个了,好像是解决vim显示特殊字符的问题,不过貌似要字体支持
set ambiwidth=double


"侦测文件类型
filetype on


"自动对齐
set autoindent


"显示标尺
set ruler


"搜索时忽略大小写 
set ignorecase


"搜索时输入的词句的逐字符高亮
set incsearch 


"高亮显示匹配的括号
"set showmatch


"手动备份:set backup, w ,文件后缀自动改为*.bak
set backupext=.bak


"源代码修改之前自动备份,后缀名为.orig
"set patchmode=.orig


"行号
"set number


"语法高亮
syntax enable


"释放ctrl+y
unmap<C-y>


"编码设置
"set encoding=chinese
set fileencoding=utf-8
set fileencodings=ucs-bom,utf-8,chinese,cp936
set nobackup
set noswapfile


"半透明,win下需要下载专用dll文件,不过会影响速度
"au GUIEnter * call libcallnr("vimtweak.dll","SetAlpha",210)




"折叠设置
"设置手工折叠
set foldmethod=manual
"set foldcolumn=4


"当前高亮行 
set cursorline


"高亮当前列
set cursorcolumn


"文件修改后自动载入
set autoread


"光标移动到buffer顶端和尾端保持3行距离
set scrolloff=3


"状态行显示的内容
set statusline=%<%F\ [FORMAT=%{&ff}]\ [TYPE=%Y]\ %h%m%r%=%-14.(%l,%c%V%)\ %P


"总是显示状态栏
set laststatus=2


"改变竖屏切分时候分割线的样式
set fillchars=vert:\ ,stl:\ ,stlnc:\ 


"隐藏菜单栏和工具栏
"set go=
"set go+=r
set go=right
language mes en


"快捷键映射
"映射tab切换 ctrl+j 向左,ctrl+k 向右
nnoremap <C-j> <Esc>gT
nnoremap <C-k> <Esc>gt
inoremap <C-j> <Esc>gT
inoremap <C-k> <Esc>gt




set timeout timeoutlen=200




""""""""""""""""""""""""""""""插件设置区域"""""""""""""""""""""""""""""
"vundle
set rtp+=$VIM/vimfiles/bundle/vundle/
call vundle#rc('$VIM/vimfiles/bundle/')


Bundle 'https://github.com/scrooloose/nerdtree.git'
"Bundle 'https://github.com/Lokaltog/vim-powerline.git'
Bundle 'https://github.com/jistr/vim-nerdtree-tabs.git'
Bundle 'https://github.com/vim-scripts/The-NERD-Commenter.git'
Bundle 'https://github.com/vim-scripts/neocomplcache.git'
Bundle 'https://github.com/vim-scripts/bufexplorer.zip.git'
Bundle 'https://github.com/tpope/vim-unimpaired.git'


"目录树
nnoremap <F7> <Esc>:NERDTree<Enter>
let g:nerdtree_tabs_open_on_gui_startup=0 


"buffer浏览配置
nnoremap <F6> <Esc>:BufExplorer<Enter>


"补全插件设置
let g:neocomplcache_enable_at_startup = 1 


"快速注释插件
let mapleader=","  




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 


"快捷键F5调用编译器
map <F5> :call CompileRunGcc()<CR>
function! CompileRunGcc()
exec "w"
if &filetype == 'c'
exec "!g++ % -o %<"
exec "! ./%<"
elseif &filetype == 'cpp'
exec "!g++ % -o %<"
exec "! ./%<"
elseif &filetype == 'java' 
exec "!javac %" 
exec "!java %<"
elseif &filetype == 'sh'
:!./%
elseif &filetype == 'python'
exec "!python %"
exec "!python %<"
endif
endfunc

05-30 20:49