簡體   English   中英

語法高亮混淆/ vim失敗

[英]Syntax Highlight Confusion / Fail in vim

假設您在.js(x)文件中包含以下行,並使用VIM作為您喜歡的文本編輯器

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

該正則表達式的/*部分將導致VIM灰色顯示以下所有行,因為它假定以下所有符號均已注釋掉。

有人遇到同樣的問題嗎? 對於變通辦法,語法突出顯示腳本/插件有什么建議嗎?

編輯

我嘗試使用最小的vim配置(和vim -u minimalconfig )。 結果相同...

minimalconfig的內容:

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

是的,這是對所包含的JavaScript語法突出顯示的限制。 還有其他JavaScript熒光筆可以滿足這種情況:

它們每個都對JavaScript高亮進行了其他更改,因此您可能要同時嘗試它們並查看您更喜歡哪個。

或者,重寫您的JavaScript,以避免在正則表達式文字中包含/* ,例如,通過以下方式之一:

  • 使用{0,}等於或{0,}零,而不是*
  • 將模式放入字符串中,並使用Regexp('^#/…', 'i')顯式構造它-然后/*將位於字符串常量內,這不會混淆熒光筆。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM