Vim で LaTeX を書く、とにかく書く、はい、書きましょう。
\ref は、\label で設定した章や図表の番号を参照するための LaTex コマンドです。例えば、図の場合、
Figure~\ref{fig:bird}
みたいに書くと参照できますが、
プリアンブル部(main.tex の \documentclass から \begin{document} までの間の部分)に、
\newcommand{\reffig}[1]{Figure~\ref{#1}}
とか書いておくと、
\reffig{fig:bird}
だけで上記の Figure~\ref{fig:bird} と書いた時と同じになったりするんですね。とまぁ、ここまでは知ってる人も使ってる人も多いと思います。
問題は、\reffig に対して、\ref で行われるようなシンタックス処理が行われないことなんです。例えば、ラベルに _(アンダースコア)を使った場合、LaTex では、アンダースコアは特別な意味を持っているので、エラーとして表示されてしまいます。そんなの気にならない、という人は、ここまで読んでそっとこのページを閉じてください。「あ、それ、気になってた!」という人は続きを読んでください。
先に結論を書くと、.vimrc の syntax on の後?に、
autocmd FileTYpe tex syntax region texRefZone matchgroup=texStatement \ start="\\ref\(fig\|tab\|sec\|eqn\|chap\|alg\){" \ end="}\|%stopzone\>" \ contains=@texRefGroup
と書くと、reffig, reftab, refsec, refeqn, refchap, refalg が、ref と同じようにシンタックス処理されるようになります。別のファイルに書く方法もありますが、設定ファイルを増やしたくない場合はこれがおすすめです。