Vimでtsxを書いていたところ、シンタックスハイライトがおかしくなる現象がたびたび起こった。
レンプレートリテラルを使用した複数行の文字列があるとおかしくなるので調べてみたところ、vimのシンタックスは現在の行から指定された行だけ戻った場所からパースされる仕組みで、パースの開始位置がテンプレートリテラルの途中からだったのが問題だったらしい。
syntax - Vim日本語ドキュメント
以下のコマンドでファイルの最初からパースすることで構文ハイライトが正しく認識される。
:syntax sync fromstart