- 自用的
.vimrc 配置,使用了 ctrlpvim/ctrlp.vim 实现文件查找,使用了 bling/vim-airline 美化标题栏,使用了 preservim/tagbar 实现了查看函数列表
set nocompatible " be iMproved, required
set paste
set clipboard=unnamed
filetype off " required
" set the runtime path to include Vundle and initialize
set rtp+=~/.vim/bundle/Vundle.vim
call vundle#begin()
" let Vundle manage Vundle, required
Plugin 'VundleVim/Vundle.vim'
"
Bundle 'Valloric/YouCompleteMe'
" 文件搜索
Bundle 'ctrlpvim/ctrlp.vim'
" 文本搜索
Bundle 'junegunn/fzf'
Bundle 'junegunn/fzf.vim'
" 括号匹配高亮
Bundle 'kien/rainbow_parentheses.vim'
" 可视化缩进
Bundle 'nathanaelkane/vim-indent-guides'
" 标签导航
Bundle 'vim-scripts/ctags.vim'
"目录树导航
Bundle 'scrooloose/nerdtree'
" 配色
Bundle 'vim-scripts/python.vim'
" ale
Bundle 'w0rp/ale'
" 缩进线
Bundle 'Yggdroot/indentLine'
"
Bundle 'vim-python/python-syntax'
"
Bundle 'bling/vim-airline'
Bundle 'vim-airline/vim-airline-themes'
"
Bundle 'preservim/tagbar'
" All of your Plugins must be added before the following line
call vundle#end() " required
filetype plugin indent on " required
filetype on
" autoread
set autoread
" encoding
set encoding=utf-8
set ffs=unix,dos,mac
set langmenu=zh_CN.UTF-8
set fileencodings=ucs-bom,utf-8,cp936,gb18030,big5,euc-jp,euc-kr,latin1
set fileencoding=utf-8
source $VIMRUNTIME/delmenu.vim
source $VIMRUNTIME/menu.vim
language messages zh_CN.utf-8
set helplang=cn
set ambiwidth=double
let laststatus = 2
set nu
set showcmd
set showmatch
set nobackup
set backspace=2
set mouse=a
" tab设置
set smarttab
set tabstop=4
set softtabstop=4
set autoindent
set shiftwidth=4
set noexpandtab
" 语法高亮
syntax enable
syntax on
" Fomat工具(快捷的可以自行修改)
noremap<F7> :!isort %<cr>
" 配色方案
colorscheme molokai
" colorscheme desert
" colorscheme koehler
" 搜索高亮
set hlsearch
" 文件历史缓存设置
set undofile
set undodir=~/.vim/undodir
silent !mkdir ~/.vim/undodir > /dev/null 2>&1
" NERDTree
let NERDTreeDirArrows = 0
let g:NERDTreeWinSize = 50
map <F2> :NERDTreeMirror<CR>
map <F5> :NERDTreeToggle<CR>
" 设置切换Buffer快捷键"
nnoremap <C-N> :bn<CR>
nnoremap <C-M> :bp<CR>
" 查询跳转
nnoremap <F10> :cn<CR>
nnoremap <F11> :cprev<CR>
" 保存
nmap <C-S> :w!<CR>
vmap <C-S> <C-C>:w!<CR>
imap <C-S> <Space><CR><ESC>:w!<CR>
cmap <C-S> <Esc>:w!<CR>
" 自动 ctags
function! UpdateCtags()
let curdir=getcwd()
while !filereadable("./tags")
cd ..
if getcwd() == "/"
break
endif
endwhile
if filewritable("./tags")
!/home/chensentian/download/ctags -R .
endif
execute ":cd " . curdir
endfunction
nmap <F9> :call UpdateCtags()<CR>
autocmd BufWritePost *.c,*.h,*.hpp,*.cpp,*.py call UpdateCtags()
" python 格式化
nnoremap <C-I> :%!isort %<CR>:edit!<CR>
nnoremap <C-F> :%!black --line-length 120 %<CR>:edit!<CR>
let g:indentLine_enabled=0
let g:python_highlight_all = 1
" airline
let g:airline_powerline_fonts = 1
let g:airline_theme="tomorrow"
let g:airline#extensions#tabline#enabled = 1
let g:airline#extensions#tabline#left_sep = ' '
let g:airline#extensions#tabline#left_alt_sep = '|'
let g:airline#extensions#tabline#buffer_nr_show = 1
"
nnoremap [b :bp<CR>
nnoremap ]b :bn<CR>
set guifont=Powerline_Consolas:h14:cANSI
" 打开 quickfix
noremap <C-Q> :copen<CR>
noremap <C-E> :cclose<CR>
" 打开终端
noremap <C-T> :botright terminal<CR>
"
let g:tagbar_ctags_bin="/home/chensentian/download/ctags"
let g:tagbar_width=60
map <F12> :Tagbar<CR>