首页 > 解决方案 > 如何强制 vim 拼写检查器忽略小写/大写错误

问题描述

我在这里这里找到了如何强制 Vim 拼写检查器忽略大写字母的单词被检查。但我的情况恰恰相反。我想忽略正确形式包含大写字母的单词。

所以在句子中:

欧洲被选为最佳

只有单词chozen是错误的。

如何做到这一点?

感谢您的任何提示。

标签: vimspell-checking

解决方案


这个答案首先由Richvi​​&vim stackexchange上发布:

我不认为 Vim 有这个设置。一种解决方法是创建一个新的拼写文件,其中包含当前拼写文件中的所有内容,但仅包含小写字母:

  1. 创建一个新缓冲区,其中包含当前使用的拼写文件中的所有内容:

    :spelldump
    
  2. 删除不包含任何大写字符的行。这不是绝对必要的,但没有必要为小写单词保留重复条目:

    :v/\u/d
    
  3. 将整个文件转换为小写,忽略包含拼写文件位置的行:

    :v/^#/norm gu$
    
  4. 保存文件:

    :w ~/.vim/spell/lowercase.utf-8.add
    
  5. $VIMRUNTIME除了 Vim目录中的标准文件之外,开始使用这个文件。请注意,'spellfile' 如果设置为空,Vim 在内部使用默认值,因此如果您已经有任何现有的拼写文件,您需要确保它们包含在此设置中(接受逗号分隔的列表):

    :set spellfile=~/.vim/spell/lowercase.utf-8.add
    

    请注意,如果您在运行的 Vim 实例中设置此选项,它似乎不会对拼写检查生效,直到您与之交互(例如使用zg命令)。

以上不影响 Vim 检测句子开头的小写单词拼写错误的方式。'spellcapcheck'您可以使用以下选项禁用此功能:

:set spellcapcheck=

推荐阅读