X-Git-Url: https://ruderich.org/simon/gitweb/?a=blobdiff_plain;f=vimrc;h=3f94aefb7f20fe2677880a59f7b2eeb17540567b;hb=cbf6334225a37daa7e89cdd9797358acef12e68d;hp=3b77e8efcab1cf5c6223455b394e036c2f272693;hpb=e02e55ec3000ba54a785b286ed2dd56e32bb7b9f;p=config%2Fdotfiles.git diff --git a/vimrc b/vimrc index 3b77e8e..3f94aef 100644 --- a/vimrc +++ b/vimrc @@ -70,6 +70,18 @@ if exists('+wildignorecase') set wildignorecase endif +" Ignore files with the following extensions because I almost never want to +" edit them in Vim (specifying them manually still works of course). +set wildignore= +" C +set wildignore+=*.o,*.d,*.so +" Java +set wildignore+=*.class +" LaTeX +set wildignore+=*.aux,*.log,*.out,*.toc,*.pdf +" Python +set wildignore+=*.pyc + " Show completion menu even if only one entry matches. if exists('+completeopt') set completeopt+=menuone @@ -190,6 +202,8 @@ if has('folding') endif set foldlevel=99 " no closed folds at default, 'foldenable' would disable " folding which is not what I want + " Don't open folds for block movements like '(', '{', '[[', '[{', etc. + set foldopen-=block endif " Only check case if the searched word contains a capital character. @@ -359,6 +373,16 @@ if has('statusline') endif endfunction + " Return current syntax group in brackets or nothing if there's none. + function! StatuslineSyntaxGroup() + let l:group = synIDattr(synID(line('.'), col('.'), 1), 'name') + if l:group != '' + return '[' . l:group . '] ' + else + return '' + endif + endfunction + set statusline= " on the left set statusline+=%02n " buffer number @@ -784,6 +808,28 @@ if has('eval') let g:xptemplate_brace_complete = 0 " Only highlight the current placeholder. let g:xptemplate_highlight = 'current' + +" CtrlP settings. + " Don't manage the working directory (the default setting is too slow for + " me). + let g:ctrlp_working_path_mode = 0 + " Path to cache directory. I prefer to keep generated files as local as + " possible. + let g:ctrlp_cache_dir = $HOME . '/.vim/cache/ctrlp' + " Permanent cache, cleared by a crontab entry. + let g:ctrlp_clear_cache_on_exit = 0 + +" FSWitch settings. + " Default don't work well for my projects. + augroup vimrc + autocmd BufEnter *.cc let b:fswitchdst = 'h' + \ | let b:fswitchlocs = './' + autocmd BufEnter *.h let b:fswitchdst = 'cc,c' + \ | let b:fswitchlocs = './' + augroup END + + " Switch to corresponding header/source file. + nnoremap h :FSHere endif