call plug#begin('~/.vim/plugged') Plug 'tpope/vim-sensible' Plug 'tpope/vim-sleuth' Plug 'tpope/vim-fugitive' Plug 'bling/vim-airline' Plug 'mhinz/vim-signify' Plug 'trusktr/seti.vim' call plug#end() let g:signify_vcs_list = [ 'git' ] " ------ settings ------ " default indentation set shiftwidth=2 set tabstop=4 set expandtab " permanent undo history set undofile set undodir=~/.vim/undo " allow switching buffers set hidden " always scroll set scrolloff=99 " show line numbers set number set relativenumber " set wordwrap indent set nowrap set linebreak if exists("&breakindent") set breakindent set breakindentopt=shift:2,sbr endif " show whitespace set list " make a new copy of the file for backup " setting to no or auto messes with filewatchers set backupcopy=yes " ------ key bindings ------ " ; as : nnoremap ; : vnoremap ; : " allow via jj in insert mode inoremap jj " fix j/k with wraps nnoremap j gj nnoremap k gk vnoremap j gj vnoremap k gk augroup formatting au! " strip trailing whitespace autocmd BufWritePre * :%s/\s\+$//e augroup end colorscheme seti