setlocal textwidth=100 " indent 4 spaces setlocal shiftwidth=4 setlocal tabstop=4 setlocal softtabstop=4 setlocal expandtab setlocal nosmartindent setlocal autoindent setlocal cinkeys-=0# " don't reindent PP directives setlocal cinoptions+=:0 " don't indent case labels " Load the doxygen syntax let b:load_doxygen_syntax = 1 augroup fswitch au BufEnter *.h let b:fswitchdst = 'cpp,c' au BufEnter *.h let b:fswitchlocs = 'reg:/include/source/' au BufEnter *.cpp let b:fswitchdst = 'h' au BufEnter *.cpp let b:fswitchlocs = 'reg:/\Csource/include/' augroup END setlocal foldmethod=syntax " set foldlevel according to number of matches of 'namespace' and 'class' not " containing ';' function! InitialFoldLevel() let v:errmsg = "" keepjumps keeppatterns silent! 1,/}/s/^\(namespace\|class\) \+[^;]*$//n if v:errmsg == "" let &foldlevel=str2nr(split(v:statusmsg)[0]) endif endf call InitialFoldLevel()