#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!