.vimrc

 "设置为不与VI兼容

set nocompatible
"帮助文档语言
set helplang=cn
"查看文本时用到的编码类型
set encoding=utf-8
"启用语法高亮
syntax enable
syntax on
"本色方案
colorscheme desert
"shiftwidth:每层缩进空格数 
set sw=4
"tabstop:制表符为4个空格
set ts=4
"打开自动缩进
filetype indent on
 
 
 
 
"根据Python语言的建议(将tab展成四个空格)进行了专门设置et(tab键自动转成空格)
autocmd FileType python setlocal et sta sw=4 sts=4
 
 
 
""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
""""""""插件区域""""""""""""""""""插件区域""""""""""""""""
""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
filetype on            " enables filetype detection
filetype plugin on     " enables filetype specific plugins
"打开文件类型检测
filetype plugin indent on
"关掉智能补全时的预览窗口
set completeopt=longest,menu
"启用taglist插件
let Tlist_Show_One_File=1
let Tlist_Exit_OnlyWindow=1
"启用WinManager与netrw整合
let g:winManagerWindowLayout='BufExplorer,FileExplorer|TagList'
nmap wm :WMToggle<cr>
"cscope是否使用 quickfix 窗口来显示 cscope 结果
:set cscopequickfix=s-,c-,d-,i-,t-,e-
"启用pyflakes插件
let g:pyflakes_use_quickfix = 1
"管理打开的文件上边栏标题MiniBufExplorer,用<C-h,j,k,l>切换到上下左右的窗口中去
let g:miniBufExplMapWindowNavVim = 1
"是用<C-箭头键>切换到上下左右窗口中去
let g:miniBufExplMapWindowNavArrows = 1
"c/h文件间相互切换 -- 插件: A   按F12时在一个新的buffer中打开c/h文件
nnoremap <silent> <F12> :A<CR>
"插件Grep
nnoremap <silent> <F3> :Grep<CR>
"加速你的补全 -- 插件: SuperTab
let g:SuperTabRetainCompletionType=2
let g:SuperTabDefaultCompletionType='<C-X><C-U>'
"设置NeoComplCache不自动弹出补全列表
let g:neocomplcache_enable_at_startup = 1
 
 
 
 
 
 
" 打开文件时,总是跳到退出之前的光标处
autocmd BufReadPost *
\ if line("'\"") > 0 && line("'\"") <= line("$") |
\   exe "normal! g`\"" |
\ endif
 
 
 
"''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
"''''''''自''''动''''匹'''''配'''''''''''''''''''''''''''''''''
"''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
"自动补全括号和绰号
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
 
function ClosePair(char)
    if getline('.')[col('.') - 1] == a:char
        return "\<Right>"
    else
        return a:char
    endif
endf
" 按退格键时判断当前光标前一个字符,如果是左括号,则删除对应的右括号以及括号中间的内容
function! RemovePairs()
let s:line = getline(".")
let s:previous_char = s:line[col(".")-1] " 取得当前光标前一个字符
if index(["(", "[", "{"], s:previous_char) != -1
execute "normal! v%xi"
else
execute "normal! a\<BS>"
end
endfunction
" 用退格键删除一个左括号时同时删除对应的右括号
inoremap <BS> <ESC>:call RemovePairs()<CR>a
 

你可能感兴趣的:(.vimrc)