Plug 'octol/vim-cpp-enhanced-highlight'
Plug 'raimondi/delimitmate'
Plug 'ram-z/vim-clang-format', { 'branch': 'fix-undo' }
-Plug 'ram-z/vimwiki', { 'branch': 'no_override_map' }
+" fix some issue with vim-clang-format not finding .clang-format
+let g:clang_format#detect_style_file = 1
+Plug 'vimwiki/vimwiki', { 'branch': 'dev' }
Plug 'scrooloose/syntastic'
Plug 'sgeb/vim-diff-fold'
Plug 'shougo/unite.vim'
-Plug 'shougo/vimproc.vim'
+Plug 'shougo/vimproc.vim', {'do': 'make'}
Plug 'sjl/gundo.vim'
Plug 'thinca/vim-qfreplace'
Plug 'tomtom/tcomment_vim'
set listchars=tab:❭\ " list of strings used for list mode
set listchars+=extends:❯,precedes:❮
" Only shown when not in insert mode
-au InsertLeave * :set listchars+=trail:·
+set listchars+=trail:·
augroup trailing
au!
au InsertEnter * :set listchars-=trail:·
map <space> <leader>
" make
-nnoremap <leader>r :make!<cr>
-nnoremap <leader><cr> :make!<cr>
+function! Make()
+ let l:make_dir = ""
+ if exists("b:make_dir")
+ let l:make_dir = "-C ".b:make_dir
+ elseif exists("g:make_dir")
+ let l:make_dir = "-C ".g:make_dir
+ endif
+
+ let l:make_targets = ""
+ if exists("g:make_targets")
+ let l:make_targets = g:make_targets
+ endif
+ execute "make! ".l:make_dir." ".l:make_targets
+endf
+nnoremap <leader>r :call Make()<cr>
" unhighlight search
nnoremap <silent> <Leader>/ :silent nohl<CR>
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')
+noremap <silent><expr> j (v:count == 0 ? 'gj' : 'j')
+noremap <silent><expr> k (v:count == 0 ? 'gk' : 'k')
" disable arrows
noremap <Up> <NOP>
let g:syntastic_always_populate_loc_list=1
nmap <silent> <leader>y :SyntasticCheck<cr>
+let g:syntastic_cpp_clang_tidy_post_args = "-p build*"
+
if ! &diff
let g:syntastic_check_on_open=1
endif