有太多的首字母缩略词和专有名词可以添加到字典中。我想任何包含大写字母的单词都要从拼写检查中排除。单词由空格或特殊字符(即非字母表)分隔。这可能吗?
当小写字母和特殊字符围绕大写单词时,答案的第一部分失败:
,jQuery,
, iPad,
/demoMRdogood/
[CSS](css)
`appendTo()`,
当小写单词由特殊字符分隔时,当前答案会给出误报(从拼写检查中排除)。以下是示例:
(async)
leetcode, eulerproject,
赏金是针对解决此问题的人。
你可以尝试这个
:syn match myExCapitalWords +\<[A-Z]\w*\>+ contains=@NoSpell
上面的命令说 vim
处理由描述的每个模式 \<[A-Z]\w*\>
作为一部分 @NoSpell
簇。的项目 @NoSpell
群集未进行拼写检查。
如果您还想要排除包含至少一个非字母字符的拼写检查中的所有单词,则可以调用以下命令
:syn match myExNonWords +\<\p*[^A-Za-z \t]\p*\>+ contains=@NoSpell
类型 :h spell-syntax
了解更多信息。
这是适合我的解决方案。这传递了我在问题中提到的案例:
syn match myExCapitalWords +\<\w*[A-Z]\K*\>+ contains=@NoSpell
这是一个使用的替代解决方案 \S
代替 \K
。替代解决方案排除括号内的字符,并以大写字母开头。由于它更宽松,因此对URL更有效:
syn match myExCapitalWords +\<\w*[A-Z]\S*\>+ contains=@NoSpell
从拼写检查中排除“'s”
s
在撇号被认为是拼写错误的字母之后,无论上述解决方案如何。一个快速的解决方案是添加 s
到你的字典或添加一个案例:
syn match myExCapitalWords +\<\w*[A-Z]\K*\>\|'s+ contains=@NoSpell
这不是问题的一部分,但这是拼写检查过程的常见情况,所以我在这里提到它。