dotfiles/vim/vimrc

72 lines
1.5 KiB
VimL

if filereadable("~/.vimrc.local")
source ~/.vimrc.local
endif
" vim-plug installer
if empty(glob('~/.vim/autoload/plug.vim'))
silent !curl -fLo ~/.vim/autoload/plug.vim --create-dirs
\ https://raw.githubusercontent.com/junegunn/vim-plug/master/plug.vim
autocmd VimEnter * PlugInstall --sync | source $MYVIMRC
endif
" vim-plug plugins
call plug#begin('~/.vim/vim-plug')
Plug 'valloric/youcompleteme', { 'do': './install.py --clang-completer' }
Plug 'rhysd/vim-clang-format'
Plug 'derekwyatt/vim-fswitch'
Plug 'itchyny/lightline.vim'
Plug 'ambv/black'
Plug 'altercation/vim-colors-solarized'
Plug 'craigemery/vim-autotag'
Plug 'junegunn/fzf', { 'dir': '~/.fzf', 'do': './install --all' }
Plug 'junegunn/fzf.vim'
Plug 'airblade/vim-gitgutter'
Plug 'tpope/vim-fugitive'
call plug#end()
" tabwidth
set tabstop=4
set shiftwidth=4
" dark theme
set background=dark
" line numbers
set number
" max line length column
set colorcolumn=100
" always enable status line
set laststatus=2
" ctags config
set tags=./tags;
nnoremap <F2> <C-]>
" autotag
let g:autotagmaxTagsFileSize = 1024 * 1024 * 128
" youcomleteme config
let g:ycm_autoclose_preview_window_after_insertion = 1
let g:ycm_autoclose_preview_window_after_completion = 1
nmap <F12> :YcmCompleter GoTo<CR>
" lightline config
let g:lightline = { 'colorscheme': 'solarized' }
" Black config
autocmd BufWritePre *.py execute ':Black'
" vim-fswitch
nmap <ESC>o :FSHere<CR>
" vim-colors-solarized
colorscheme solarized
" fzf.vim
nmap <C-P> :Files<CR>
nmap <ESC><C-P> :Tags<CR>