假设您的.js(x)文件中包含以下行,并将VIM用作您喜欢的文本编辑器
if (foundArray = decodeURIComponent(location.hash).toLowerCase().match(/^#\/([0-9a-zäüöß\-_]+)?\/*$/i)) {
该正则表达式的/*
部分会导致VIM灰显以下所有行,因为它假定以下所有符号都已注释掉。
有人遇到同样的问题吗?有关变通办法,语法突出显示脚本/插件的任何建议吗?
编辑
我尝试使用最小的vim配置(和vim -u minimalconfig
)。结果相同...
minimumconfig的内容:
set nocompatible
filetype on
filetype plugin indent on
syntax on
syntax enable
set background=dark
答案 0 :(得分:1)
是的,这是对包含的JavaScript语法突出显示的限制。有其他JavaScript荧光笔可以满足这种情况:
它们每个都对JavaScript突出显示进行了其他更改,因此您可能希望同时尝试它们并查看您更喜欢哪个。
或者,重写您的JavaScript以免在正则表达式文字中包含/*
,例如通过以下方式之一:
{0,}
设置为零或更高,而不是*
。Regexp('^#/…', 'i')
进行显式构造-/*
将位于字符串常量内,这不会混淆荧光笔。