语法突出显示vim中的混淆/失败



假设您在.js(x(文件中有以下行,并使用VIM作为您最喜欢的文本编辑器

if (foundArray = decodeURIComponent(location.hash).toLowerCase().match(/^#/([0-9a-zäüöß-_]+)?/*$/i)) {

该正则表达式的/*部分将导致VIM灰显以下所有行,因为它假定以下所有符号都已注释掉。

有人经历过同样的问题吗?有什么关于变通方法、语法突出显示脚本/插件的建议吗?

编辑

我尝试使用最小的vim配置(和vim -u minimalconfig(。相同的结果。。。

最小配置的内容:

set nocompatible
filetype on
filetype plugin indent on
syntax on
syntax enable
set background=dark

是的,这是所包含的JavaScript语法高亮显示的限制。有其他JavaScript荧光笔可以满足这种情况:

  • vim javascript插件
  • JavaScript语法文件

它们还对JavaScript高亮显示进行了其他更改,所以您可能想同时尝试它们,看看您喜欢哪一个。

或者,重写您的JavaScript以避免在regexp文本中包含/*,例如通过以下操作之一:

  • 使用{0,}表示零或更多,而不是*
  • 将模式放入字符串中,并用Regexp('^#/…', 'i')显式构造它——然后/*将位于字符串常量内,这不会混淆荧光笔

相关内容

  • 没有找到相关文章

最新更新