>>462
syntaxとindentは別物です。基本的な動作は'autoindent'や'smartindent'で記述可能ですが、
独自のインデントアルゴリズムを作りたい場合には
  :help 'indentexpr'
を参照してください。ただし決して簡単ではありません。

またファイルタイプ毎にindentを切り替えるには&rtpのindentに
ファイル(例:~/.vim/indent/scheme.vim)を置くのが慣例です。