我的vimrc

时间:2019-01-23
本文章向大家介绍我的vimrc,主要包括我的vimrc使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。

花了很久精炼配置出来的,其中注释掉的部分是被淘汰掉的部分

set nocompatible
filetype off
set rtp+=$HOME/.vim/bundle/Vundle.vim/
call vundle#begin('$HOME/.vim/bundle/')

"Plugin 'bufexplorer.zip'
"Plugin 'delimitMate.vim'
"Plugin 'forevernull/vim-json-format'
"Plugin 'junegunn/vim-easy-align'
"Plugin 'makerj/vim-pdf'
"Plugin 'mileszs/ack.vim'
"Plugin 'rename.vim'
"Plugin 'rhysd/vim-fixjson'
"Plugin 'winmanager'
Plugin 'a.vim'
Plugin 'AutoComplPop'
Plugin 'axiaoxin/vim-json-line-format'
Plugin 'Chiel92/vim-autoformat'
Plugin 'ctrlp.vim'
Plugin 'EasyGrep'
Plugin 'EasyMotion'
Plugin 'fugitive.vim'
Plugin 'garbas/vim-snipmate'
Plugin 'gmarik/Vundle.vim'
Plugin 'honza/vim-snippets'
Plugin 'jiangmiao/auto-pairs'
Plugin 'L9'
Plugin 'MarcWeber/vim-addon-mw-utils'
Plugin 'mru.vim'
Plugin 'Rename2'
Plugin 'roxma/nvim-yarp'
Plugin 'roxma/vim-hug-neovim-rpc'
Plugin 'scrooloose/nerdtree'
Plugin 'Shougo/deoplete.nvim' "与vim-multiple-cursors冲突
Plugin 'surround.vim'
Plugin 'Tabular'
Plugin 'terryma/vim-multiple-cursors'   " 多光标输入
Plugin 'The-NERD-Commenter'
Plugin 'tomtom/tlib_vim'
Plugin 'vim-airline/vim-airline'
Plugin 'vim-airline/vim-airline-themes'

call vundle#end()
filetype plugin indent on

let mapleader = ","

"set autochdir
"set foldcolumn=0
"set shell=powershell.exe
autocmd GUIEnter * simalt ~x
colorscheme desert
set autoindent
set autoread
set autowrite
set cindent
set cursorcolumn
set cursorline
set encoding=utf-8
set expandtab
set fileencodings=utf-8,gbk,latin1
set foldlevelstart=99
set foldmethod=syntax
set guioptions-=m
set guioptions-=T
set hlsearch
set incsearch
set laststatus=2
set nobackup
set noswapfile
set number
set ruler
set shiftwidth=4
set showcmd
set showmatch
set showmode
set smartindent
set softtabstop=4
set tabstop=4
set termencoding=utf-8
set undodir=$HOME/.vim/undo
syntax enable



"----------------------------------------------------
"设置自动补全括号、引号. (容易造成列插入问题,暂时弃用)
"inoremap < <><ESC>i
"inoremap > <c-r>=ClosePair('>')<CR>
""inoremap " ""<ESC>i
""inoremap ' ''<ESC>i
""inoremap ( ()<ESC>i
""inoremap ) <c-r>=ClosePair(')')<CR>
""inoremap [ []<ESC>i
""inoremap ] <c-r>=ClosePair(']')<CR>
""inoremap { {<Enter>}<ESC>O
""inoremap } <c-r>=ClosePair('}')<CR>
""
""function! ClosePair(char)
""    if getline('.')[col('.') - 1] == a:char
""        return "\<Right>"
""    else
""        return a:char
""    endif
""endfunction
"----------------------------------------------------

"CtrlP 设置
if executable('ag')
    let g:ctrlp_user_command = 'ag %s -l --nocolor -g ""'
endif
let g:ctrlp_cache_dir = $HOME . '/.cache/ctrlp'
let g:ctrlp_clear_cache_on_exit = 0
let g:ctrlp_max_height=30
let g:ctrlp_custom_ignore = {
            \ 'file':'\v\.(.exe|obj|dll)'
            \}
"CtrlP 设置 end

"MRU configure
let MRU_Window_Height = 30
"MRU configure end
"

"格式化xml
function Xml()
    "   set filetype=xml
    :%s/>\s*</>\r</g "把><替换成>回车<
    :normal gg=G<cr>
endfunction
map  <leader>xml  :call Xml()

"" 格式化Json
function Json()
    :%s/{/{\r/g
    :%s/}[ \t]*/\r}/g
    :%s/,/,\r/g
    :normal gg=G<cr>
endfunction
map <leader>json :call Json()

" Use deoplete.
"let g:deoplete#enable_at_startup = 1

"" winmanager配置
"let g:NERDTree_title='NERD Tree'
"function! NERDTree_Start()
"exec 'NERDTree'
"endfunction
"function! NERDTree_IsValid()
"return 1
"endfunction

" ariline配置
"let g:airline#extensions#tabline#left_alt_sep = '>'
"let g:airline#extensions#tabline#left_sep = ' '
"let g:airline#extensions#tabline#show_buffers = 1
"let g:airline#extensions#whitespace#enabled=0
"let g:airline_powerline_fonts = 1
"let g:airline_theme='powerlineish'
"set guifont=DejaVu_Sans_Mono_for_Powerline:h9:cANSI:qDRAFT
let g:airline#extensions#tabline#enabled = 1
let g:airline#extensions#tabline#formatter = 'unique_tail'


" autoformat配置
"let g:autoformat_verbosemode=1
"let g:autoformat_autoindent = 0
"let g:autoformat_retab = 0
"let g:autoformat_remove_trailing_spaces = 0
"let g:formatdef_clang = "'clang-format -lines='.a:firstline.':'.a:lastline"
"let g:formatters_c = ['clang']
"let g:formatters_cpp = ['clang']
"

" ack.vim配置
"let g:ackprg = "ag --vimgrep"

" EasyGrep配置
let g:EasyGrepMode = 2     " All:0, Open Buffers:1, TrackExt:2
let g:EasyGrepCommand = 0  " Use vimgrep:0, grepprg:1
let g:EasyGrepRecursive  = 1 " Recursive searching
let g:EasyGrepIgnoreCase = 0 " not ignorecase:0
let g:EasyGrepFilesToExclude = "*.bak, *~, cscope.*, *.a, *.o, *.exe, *.pyc, *.bak"