はい、構文ファイルのハッキングを気にしない場合は可能です。まず、Javascript構文ファイル内からHTML構文ファイルを含める必要があります:help syn-include
。詳細については、を参照してください。次に、HTML構文が特定の要素(つまり文字列)内にあることを宣言する必要があります。第3に、有効または無効にするオプションが必要な場合は、これらのコマンドをグローバル変数に依存させ、変数を設定または設定解除するマッピングを記述してから、構文ファイルを再ロードできます。
インクルージョンがどのように機能するかの例についてsyntax/html.vim
は、(JavascriptおよびCSS構文ファイルsyntax/perl.vim
を含む)、(POD構文ファイルを含む)、またはphp.vim
(グローバル変数を条件として、文字列でのSQL構文の強調表示を含む)を参照してください。
編集:私のコピーでこれを実際に実現するためのいくつかの作業を行いました。
の頭のsyntax/javascript.vim
すぐ下syn case ignore
に、を追加します
syn include @javaScriptHTML syntax/html.vim
unlet b:current_syntax
syn spell default " HTML enables spell-checking globally, turn it off
次に、とのリストに追加@javaScriptHTML
します。contained=
javaScriptStringD
javaScriptStringS
最後に、 JavaScriptからロードされた場合syntax/html.vim
にインクルードしようとしないように編集する必要があります。syntax/javascript.vim
if main_syntax != 'java' || exists("java_javascript")
に変更します
if main_syntax != 'javascript' && ( main_syntax != 'java' || exists("java_javascript")