diff vim/vimrc @ 386:b570ad9917c0

Add local pre-override for vimrc. Bunch of other vim tweaks.
author Ludovic Chabant <ludovic@chabant.com>
date Tue, 23 May 2017 13:56:28 -0700
parents af7646eceddc
children c175fda4aa2e
line wrap: on
line diff
--- a/vim/vimrc	Mon Apr 03 13:08:08 2017 -0700
+++ b/vim/vimrc	Tue May 23 13:56:28 2017 -0700
@@ -31,12 +31,18 @@
 " Get our vim directory. 
 let s:vim_home = expand("<sfile>:h")
 
+" Local pre-override.
+let s:local_vimrc_pre = s:vim_home.'/vimrc-local-pre'
+if filereadable(s:local_vimrc_pre)
+    execute 'source' s:local_vimrc_pre
+endif
+
 " Make sure `filetype` stuff is turned off before loading Pathogen.
 syntax off
 filetype off
 
 " Disable some plugins.
-let g:pathogen_disabled = []
+let g:pathogen_disabled = get(g:, 'pathogen_disabled', [])
 call add(g:pathogen_disabled, 'vimroom')
 call add(g:pathogen_disabled, 'minibufexpl')
 call add(g:pathogen_disabled, 'ragtag')
@@ -255,7 +261,7 @@
 let g:ctrlp_cache_dir = s:vim_home.'/cache'
 
 " Remember things.
-let g:ctrlp_clear_cache_on_ext = 0
+let g:ctrlp_clear_cache_on_exit = 0
 
 " Don't include some stuff in the most recently used list.
 let g:ctrlp_mruf_exclude = 'hg\-editor\-\d+\.txt'
@@ -364,7 +370,7 @@
       \'colorscheme': 'solarized',
       \'active': {
       \    'left': [ ['mode', 'paste'], 
-      \              ['fugitive', 'lawrencium', 'readonly', 'filename'], 
+      \              ['fugitive', 'lawrencium', 'readonly', 'relativepath', 'modified'], 
       \              ['ctrlpmark'] ],
       \    'right': [ ['lineinfo'], 
       \               ['percent'], 
@@ -430,6 +436,12 @@
 endfunction
 " }}}
 
+" YouCompleteMe {{{
+
+let g:ycm_always_populate_location_list = 1
+
+" }}}
+
 " }}}
 
 " File-Specific Settings {{{
@@ -454,8 +466,8 @@
 
 augroup VimRCFileType_c
     au!
-    autocmd FileType c,c++,cpp setlocal foldmethod=syntax
-    autocmd FileType c,c++,cpp setlocal colorcolumn=120
+    autocmd FileType c,c++,cpp,cs setlocal foldmethod=syntax
+    autocmd FileType c,c++,cpp,cs setlocal colorcolumn=120
 augroup END
 
 augroup VimRCFileType_css
@@ -572,8 +584,9 @@
 nnoremap [j <C-O>
 
 " Copy the current buffer's info.
-nnoremap <leader>cp :let @+ = expand('%:p')<cr>
-nnoremap <leader>cf :let @+ = expand('%:h')<cr>
+nnoremap <leader>cp :let @+ = expand('%:p')<cr>:echo @+<cr>
+nnoremap <leader>cf :let @+ = expand('%:h')<cr>:echo @+<cr>
+nnoremap <leader>cw :let @+ = getcwd()<cr>:echo @+<cr>
 
 " Make the diff navigation also center things.
 nnoremap ]c ]czvzz
@@ -608,9 +621,9 @@
 nnoremap N Nzvzz
 
 " YCM mappings.
-nnoremap <Leader>jj :YcmCompleter GoToImprecise<cr>
-nnoremap <Leader>jd :YcmCompleter GoToDefinition<cr>
-nnoremap <Leader>jh :YcmCompleter GoToDeclaration<cr>
+nnoremap <Leader>jj :YcmCompleter GoToImprecise<cr>zv
+nnoremap <Leader>jd :YcmCompleter GoToDefinition<cr>zv
+nnoremap <Leader>jh :YcmCompleter GoToDeclaration<cr>zv
 nnoremap <Leader>ji :YcmCompleter GoToInclude<cr>
 nnoremap <Leader>jc  :YcmCompleter GetDoc<cr>
 
@@ -621,6 +634,9 @@
 " Start with one level of open.
 set foldlevel=1
 
+" Don't fold too much.
+set foldnestmax=2
+
 " Folds are defined by markers in the text.
 set foldmethod=marker
 
@@ -670,13 +686,6 @@
     normal zz
 endfunction
 
-function! s:AutoProjectRootCD() abort
-  if &buftype == ''
-    ProjectRootCD
-  endif
-endfunction
-autocmd BufEnter * call <SID>AutoProjectRootCD()
-
 " }}}
 
 " Local override {{{