X-Git-Url: https://git.rmz.io/dotfiles.git/blobdiff_plain/dd7c4ba8d5d4118adba1103d3ba24f796db0e3ca..ad1f1455267ff65ac7aeb8fbd3a28c89c16a24f9:/vim/ftplugin/cpp.vim diff --git a/vim/ftplugin/cpp.vim b/vim/ftplugin/cpp.vim index 7fd300c..5f68c35 100644 --- a/vim/ftplugin/cpp.vim +++ b/vim/ftplugin/cpp.vim @@ -1,6 +1,37 @@ -setlocal foldmethod=syntax +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 *.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 + +nnoremap gd :YcmCompleter GoTo +nnoremap d :vs:YcmCompleter GoTo + +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()