Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/neo4j/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
移除vim中的拼写语法突出显示_Vim_Syntax Highlighting_Spell Checking - Fatal编程技术网

移除vim中的拼写语法突出显示

移除vim中的拼写语法突出显示,vim,syntax-highlighting,spell-checking,Vim,Syntax Highlighting,Spell Checking,这个问题是这个问题的续集。我有下面的脚本从vim拼写检查中删除大写单词 syn match myExCapitalWords +\<\w*[A-Z]\K*\>+ contains=@NoSpell syn match myExCapitalWords+\+contains=@NoSpell 但它只有在我先执行syn-clear时才有效。但是,所有其他突出显示(如降价)都会丢失。我查看了syn列表,看看是什么导致了冲突,但现在我不知道了 看起来您正在使用myExCapitalWor

这个问题是这个问题的续集。我有下面的脚本从vim拼写检查中删除大写单词

syn match myExCapitalWords +\<\w*[A-Z]\K*\>+ contains=@NoSpell
syn match myExCapitalWords+\+contains=@NoSpell

但它只有在我先执行
syn-clear
时才有效。但是,所有其他突出显示(如降价)都会丢失。我查看了
syn列表
,看看是什么导致了冲突,但现在我不知道了

看起来您正在使用
myExCapitalWords
组扩展任意语法。是否/在哪些语法项中工作取决于基础语法。不幸的是,不可能以笼统的方式扩展任意语法。这就是为什么您看到的问题只能通过
:syn clear
(去掉底层语法)来解决

语法包含多个组,其中一些组通常包含在另一些组中。如果引入新语法,它将仅适用于没有其他语法组匹配的情况。您可以通过
containedin=TOP
或甚至
containedin=ALL
将您的组强制加入其他组,但这种覆盖可能会阻止其他原始组匹配,并导致奇怪的效果,因为它们自己的
contains=
nextgroup=
现在不适用


所以,不幸的是,没有通用的解决方案。如果您只对少数语法感兴趣,可以调整一行程序,使其与底层语法配合(例如,尝试
containedin={syntaxName}Comment{s}
),但没有普遍适用的解决方案。

看起来您在用
myExCapitalWords
组扩展任意语法。是否/在哪些语法项中工作取决于基础语法。不幸的是,不可能以笼统的方式扩展任意语法。这就是为什么您看到的问题只能通过
:syn clear
(去掉底层语法)来解决

语法包含多个组,其中一些组通常包含在另一些组中。如果引入新语法,它将仅适用于没有其他语法组匹配的情况。您可以通过
containedin=TOP
或甚至
containedin=ALL
将您的组强制加入其他组,但这种覆盖可能会阻止其他原始组匹配,并导致奇怪的效果,因为它们自己的
contains=
nextgroup=
现在不适用


所以,不幸的是,没有通用的解决方案。如果你只对一些语法感兴趣,你可以调整你的一行程序,使它与底层语法相配合(例如,尝试
containedin={syntaxName}Comment{s}
),但是没有普遍适用的解决方案。

因此,即使我花了很多时间来做这件事,如果语法突出显示由于新插件而发生的变化,它会坏的,对吗?我猜如果有一个解决方案不使用
syn
,你早就告诉我了。谢谢Ingo,像往常一样,这是一个很好的答案。如果你说的“新插件”是指新的插件版本,我不会太担心这个问题。大多数都相当稳定。不过,您需要适应其他语言/文件类型。语法之外还有
matchadd()
选项,但在这种情况下它不起作用(无论如何,应用起来很麻烦),因为拼写检查连接到
syn
。不幸的是,即使我花了很多时间来实现这一点,如果语法高亮显示由于新插件而改变,它会中断吗?我猜如果有一个解决方案不使用
syn
,你早就告诉我了。谢谢Ingo,像往常一样,这是一个很好的答案。如果你说的“新插件”是指新的插件版本,我不会太担心这个问题。大多数都相当稳定。不过,您需要适应其他语言/文件类型。有语法的
matchadd()
替代方法,但在这种情况下它不起作用(无论如何,应用起来很麻烦),因为拼写检查连接到
syn