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
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
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 <silent> <Leader>h :FSHere<CR>
endif