繁体   English   中英

在vim中的javascript字符串中突出显示HTML语法

[英]HTML syntax highlighting in javascript strings in vim

我不知道这是否可行/合理,但我很想知道我是否可以在javascript文件中使用html突出显示我的字符串。 我发现php中的字符串可能有SQL语法高亮,所以我相信它是可能的。

但是,我不知道vim脚本,所以对此的任何帮助表示赞赏。

我正在使用Better Javascript语法

PS:如果在编辑js文件时可以选择打开和关闭它,那就太棒了

谢谢

是的,如果你不介意一些语法文件黑客攻击,这是可能的。 首先,您需要在Javascript语法文件中包含HTML语法文件 - 请参阅:help syn-include获取有关该信息的信息; 第二,你需要声明可以在某些元素(即字符串)中找到HTML语法。 第三,如果您想要启用和禁用它,您可以使这些命令依赖于全局变量,并编写一些设置或取消设置变量的映射,然后重新加载语法文件。

有关包含如何工作的示例,请查看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添加到javaScriptStringDjavaScriptStringS @javaScriptHTML contained=列表中。

最后你必须编辑syntax/html.vim以防止它尝试包含syntax/javascript.vim如果它是 javascript加载的:找到读取的行

if main_syntax != 'java' || exists("java_javascript")

并将其更改为

if main_syntax != 'javascript' && ( main_syntax != 'java' || exists("java_javascript")

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM