ubuntu マシンの syntax/php.vim ファイルにphp_htmlInStrings
オプションがあることに気付きました。このオプションをオンにして、php ファイルの文字列内で HTML 構文の強調表示を表示できます。これは素晴らしいことです。また、php ファイルの文字列内で JavaScript 構文の強調表示を行いたいと考えています。これができるかどうかは誰にもわかりません。
編集 - 追加の可能性
また、結果を出力する前に、php 関数を使用してすべての JavaScript 文字列を解析する必要があるソリューションに満足していることにも言及する必要があります。これは、vim が文字列に javascript が含まれているかどうかを判断できないという以下の conner によって提案された問題を回避する可能性があります。例えば:
$js = "some regular text which is not javascript##now vim has
detected that this part is javscript##back to regular text";
parse($js);
function parse($str)
{
return str_replace('##', '', $str);
}
私が喜んでこれを行う理由は、とにかく文字列の置換を行うプロジェクトに html/css/js 変数ミニファイアーを組み込む可能性があるからです。
もちろん##
、ソースコードに表示されず、フィルターで除外する必要のない vim 固有の同等の文字がある場合は、これが望ましいでしょう...
再編集 2
以下のコナーのソリューションに従って、次のように目的の効果を達成できます。
$js = "<script>some javascript</script>";
( :let php_htmlInStrings=1
vimで)。次の文字列に javascript 構文の強調表示を表示するために必要な vim スクリプトを誰かが私に見せてくれれば、私は彼らに答えを与えます:
$js = /*<script>*/"some javascript"/*</script>*/;