要添加到字典中的首字母缩略词和专有名词太多了。我想任何包含大写字母的单词都要从拼写检查中排除。单词由while-space或特殊字符(即非字母表)分隔。这可能吗?
当小写字母和特殊字符围绕大写单词时,答案的第一部分失败:
,jQuery,
, iPad,
/demoMRdogood/
[CSS](css)
`appendTo()`,
当小写单词由特殊字符分隔时,当前答案会给出误报(从拼写检查中排除)。以下是示例:
(async)
leetcode, eulerproject,
赏金是针对解决此问题的人。
答案 0 :(得分:11)
你可以尝试这个
: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
了解详情。
答案 1 :(得分:5)
这是适合我的解决方案。这传递了我在问题中提到的案例:
syn match myExCapitalWords +\<\w*[A-Z]\K*\>+ contains=@NoSpell
以下是使用\S
代替\K
的替代解决方案。替代解决方案排除括号中的字符,并以大写字母开头。由于它更宽松,因此对URL更有效:
syn match myExCapitalWords +\<\w*[A-Z]\S*\>+ contains=@NoSpell
s
。一个快速的解决方案是将s
添加到您的字典中或为其添加一个案例:
syn match myExCapitalWords +\<\w*[A-Z]\K*\>\|'s+ contains=@NoSpell
这不是问题的一部分,但这是拼写检查过程的常见情况,所以我在这里提到它。