#if 0 〜 #endif や 関数定義を折り畳む
ふとそんなftpluginを書こうかと思ったのですが、
見てみたら公式のsyntax/c.vimで実現されていたので
autocmd FileType c setlocal foldmethod=syntax
だけでいけました。(新しくないと実装されてないかも?)
ちなみに
自分は~/.vim/after/ftplugin/c.vimを作ってそこに設定を書くようにしました。
" ~/.vim/after/ftplugin/c.vim setlocal foldmethod=syntax
追記
この2つの方法、どちらも大差ないと思ってたんですが、
公式のsyntax/cpp.vim、ようするに$VIMRUNTIME/syntax/cpp.vimは
runtimepath上のsyntax/c.vimを全て:sourceするため*1
後者だとC++のソースをいじったときでも適用されるんですね。
結論
やはり設定は~/.vim/after/ftplugin/に個別に書いたほうがよさそうです。
*1::runtime!