vim php_javascriptInStrings选项?
发布时间:2020-12-15 22:56:21 所属栏目:安全 来源:网络整理
导读:我注意到我的ubuntu机器上的语法/ php. vim文件有一个php_htmlInStrings选项.我可以启用此选项以在我的php文件中显示字符串中的 HTML语法突出显示,这很棒.我还想在php文件中的字符串中进行 javascript语法高亮显示.有人知道是否可以这样做,如果可以,我该怎么
我注意到我的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 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |