如何让Vim拼写检查器忽略大小写形式相关的拼写错误?
解决Vim拼写检查忽略大小写正确单词的需求
这问题我之前配置Vim拼写检查时也碰到过,刚好能帮到你!你的核心需求是:只要单词的字母序列是正确的(不管大小写是否匹配标准形式),就不标记为拼写错误;只有字母序列本身错误的单词,才会被检查出来——比如你举的例子里,europe字母序列和标准的Europe一致,所以不标记;chozen和正确的chosen字母序列不同,所以会被标记。
要实现这个效果,只需要两步配置:
开启基础拼写检查(如果还没开的话)
在你的.vimrc里添加:set spell set spelllang=en_us # 换成你需要的语言,比如en_gb让拼写检查忽略大小写差异
这是关键的一步,添加这条配置:syn spell caseignore
验证你的例子
当你输入句子europe was chozen best时:
europe:字母序列和字典里的Europe完全一致(忽略大小写),所以不会被标记为错误chozen:字母序列和正确的chosen不符,会被正常标记为拼写错误was和best:本身拼写正确,不管大小写都不会被标记
额外注意事项
- 这个配置会让所有单词的拼写检查都忽略大小写,比如你输入
CHOSEN或者ChOsEn,也不会被标记——如果这不是你想要的(比如希望普通单词必须小写),那可能需要更复杂的自定义规则,但根据你的需求描述,这个配置刚好匹配。 - 如果需要临时关闭这个规则,可以在Vim里输入
:syn spell nocaseignore,重启后会回到.vimrc的配置。
内容的提问来源于stack exchange,提问作者LookAheadAtYourTypes




