5

我不知道这是否可能/明智,但我很想知道是否可以让我的 javascript 文件中的字符串具有 html 突出显示。我发现php中的字符串可以有SQL语法高亮,所以我相信这是可能的。

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

我正在使用更好的 Javascript 语法

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

谢谢

4

1 回答 1

4

是的,如果您不介意一些语法文件黑客攻击,这是可能的。首先,您需要在 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列表contained=中。javaScriptStringDjavaScriptStringS

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

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

并将其更改为

if main_syntax != 'javascript' && ( main_syntax != 'java' || exists("java_javascript")
于 2009-09-25T05:36:04.137 回答