~/.vim/syntax/javascript.vim syn include @javaScriptXML syntax/xml.vim syn region javaScriptE4X matchgroup=xmlTag start="<\z(\k\{-}\)>" end="</\z1>" contains=@javaScriptXML unlet! b:current_syntax start= の部分をわざわざ \k にしてるのは、マルチバイト文字もタグ名として認識させたかったため。何か問題があるようなら \w あたりを使えばいい。 b:current_syntax の扱いがこれで正しいのか微妙。とりあえずちゃんと動く。 タグの閉じ忘れとかがあるとちゃんとハイライトが終わらないので、チェックにも便利かも。