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
nnoremap <silent> <Leader>sn :set nospell<CR>
nnoremap <silent> <Leader>se :set spell spelllang=en_us<CR>
nnoremap <silent> <Leader>sd :set spell spelllang=de_de<CR>
+" If no spell support is available, these mappings do nothing.
+else
+ nmap <Leader>sn <Nop>
+ nmap <Leader>se <Nop>
+ nmap <Leader>sd <Nop>
endif
" Add semicolon to the end of the line. Thanks to
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