我注意到我的ubuntu机器上的语法/ PHP.
vim文件有一个PHP_htmlInStrings选项.我可以启用此选项以在我的PHP文件中显示字符串中的
HTML语法突出显示,这很棒.我还想在PHP文件中的字符串中进行
javascript语法高亮显示.有人知道是否可以这样做,如果可以,我该怎么做?
编辑 – 增加额外的可能性
我还要提一下,我会很高兴解决方案,我必须在输出结果之前通过PHP函数解析我的所有javascript字符串.这可能会解决下面的conner建议的问题,其中vim无法确定字符串是否包含javascript.例如:
$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变量minifier,无论如何都会对字符串进行替换.
当然,如果##中存在特定于vim的等效字符,它不会显示在源代码中而不需要过滤掉,那么这将是更可取的…
重新编辑2
根据下面的conner解决方案,可以实现所需的效果,如下所示:
$js = "<script>some javascript</script>";
(使用:让vim中的PHP_htmlInStrings = 1).如果有人可以向我展示使javascript语法突出显示在以下字符串中所需的vim脚本,那么我将奖励他们答案:
$js = /*<script>*/"some javascript"/*</script>*/;
解决方法
我认为这个问题的一般问题是vim需要一种方法来区分javascript和HTML突出显示.在HTML文件中,vim根据< script>< / script>确定此内容.其中的标签应用javascript突出显示.如果你把< script>< / script>你的字符串中的标签你会看到这种情况.但是,如果你拿走那些,那么vim无法知道你的字符串中的内容是HTML还是javascript.您可以通过编辑添加内容来表示它是javascript,希望不会影响结果代码,从而解决这个问题,但这很棘手.您可以看到HTML文件在何处设置< script>< / script> $VIMRUNTIME / Syntax / html.vim第167行的标记规范.它看起来像这样:
syn region javaScript start=+<script[^>]*>+ keepend end=+</script>+me=s-1 contains=@htmlJavaScript,htmlCssstyleComment,htmlScriptTag,@htmlPreproc
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。