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

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

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

我正在使用Better Javascript syntax.

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

谢谢

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

有关包含如何工作的示例,请查看Syntax / html.vim(包括Javascript和CSS语法文件),Syntax / perl.vim(包括POD语法文件)或PHP.vim(包括sql语法)在字符串中突出显示,以全球可变的为条件).

编辑:在我的副本中做了一些实际的事情.

在语法/ 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添加到javaScriptStringD和javaScriptStringS的contains =列表中.

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

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

并将其更改为

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

相关文章

解决方案:解决linux下vim乱码的情况:(修改vimrc的内容)全...
Linuxvi/vim所有的UnixLike系统都会内建vi文书编辑器,其他的...
      vim正则匹配:空行:/^$/  /^[\t]*$/注释...
$select-editorSelectaneditor.Tochangelater,run'sele...
上次手贱忘了保存,这次就简单做个备忘吧,把踩过的坑记一下...
Linux之文本编译器小结vim的优势所有的UNIX-LIKE习通都会内置...