]> git.rmz.io Git - dotfiles.git/blobdiff - vim/vimrc
dwb: update github dark
[dotfiles.git] / vim / vimrc
index e35d604c193ed0feaef3832b5684f5fbe02e11cb..b3947e64dfbaa0477d2c49d72ca9085fa07bd143 100644 (file)
--- a/vim/vimrc
+++ b/vim/vimrc
@@ -45,6 +45,7 @@ Plugin 'airblade/vim-gitgutter'
 Plugin 'Raimondi/delimitMate'
 Plugin 'SirVer/ultisnips'
 Plugin 'Lokaltog/vim-easymotion'
+Plugin 'junegunn/vim-easy-align'
 
 " remove entries first
 set runtimepath -=$HOME/.vim
@@ -158,8 +159,12 @@ set foldlevelstart=0            " value for 'foldlevel' when starting to edit a
 " save and restore folds
 set viewoptions=folds,cursor    " don't save local options
 
+" diff mode {{{2
+set diffopt=filler,vertical
+
 " reading and writing files {{{2
-set nomodeline                  " don't read modelines
+set modeline                    " read modelines
+set modelines=2                 " only check first/last 2 lines
 set writebackup                 " write a backup file before overwriting a file
 set backup                      " keep a backup after owerwriting a file
 set backupdir=$XDG_CACHE_HOME/vim//
@@ -307,6 +312,10 @@ inoremap <c-e> <esc>A
 cnoremap <c-a> <home>
 cnoremap <c-e> <end>
 
+" proper movement when lines are wrapped
+noremap <expr> j (v:count == 0 ? 'gj' : 'j')
+noremap <expr> k (v:count == 0 ? 'gk' : 'k')
+
 " disable arrows
 noremap  <Up>    <NOP>
 noremap  <Down>  <NOP>
@@ -329,7 +338,7 @@ cnoremap <C-L>   <Right>
 nnoremap zx zMzxzz15<C-e>
 
 " edit vimrc in new tab
-nmap <leader>ev :tabedit $MYVIMRC<CR>
+nmap <leader>ev :tabedit $MYVIMRC<CR>:lcd %:p:h<CR>
 
 map <F1> :ls<CR>:b<space>
 
@@ -395,7 +404,7 @@ autocmd BufReadPost fugitive://* set bufhidden=delete
 nnoremap <silent> <leader>gs :Gstatus<CR>
 nnoremap <silent> <leader>gd :Gdiff<CR>
 nnoremap <silent> <leader>gc :tab Gcommit -v<CR>
-nnoremap <silent> <leader>gw :Gwrite<cr>
+nnoremap <silent> <leader>ga :Gwrite<cr>
 
 " NERDTree {{{2
 " open/close NERDTree with \e
@@ -431,13 +440,19 @@ let g:tagbar_iconchars = ['+', '-']
 let g:UltiSnipsEditSplit = 'vertical'
 let g:UltiSnipsSnippetsDir = "$XDG_CONFIG_HOME/vim/ultisnips"
 
-" YouCompleteMe {{{2
+" youcompleteme {{{2
 let g:ycm_extra_conf_globlist = ['~/src/*','/mnt/data/src/*']
+let g:ycm_global_ycm_extra_conf = expand('$XDG_CONFIG_HOME/vim/ycm_extra_conf.py')
+let g:ycm_extra_conf_vim_data = ['getcwd()']
 let g:ycm_add_preview_to_completeopt = 1
 let g:ycm_autoclose_preview_window_after_insertion = 1
 "let g:ycm_extra_conf_vim_data = ['%:p']
 nnoremap <leader>jd :YcmCompleter GoTo<CR>
 
+" vim-easy-align
+" start interactive EasyAlign in visual mode
+vnoremap <Enter> <Plug>(EasyAlign)
+
 " vim-json {{{2
 let g:vim_json_syntax_conceal = 0
 
@@ -503,4 +518,3 @@ function! g:ToggleNumber()
 endfunction
 nnoremap <silent><leader>n :call g:ToggleNumber()<cr>
 nnoremap <silent><leader>N :setlocal relativenumber!<cr>
-