Vim:尝试修改拼写检查以排除"稀有"话

时间:2014-11-24 01:34:58

标签: vim spell-checking

根据:help spell中的文档,Vim的内置拼写检查程序检测到4种类型的拼写错误:SpellBad,SpellCap,SpellRare,SpellLocal

我想保留SpellBad& SpellLocal但我想禁用SpellCap& SpellRare。关闭它们的突出显示很容易。但是当尝试使用]s&尝试前进或后退到下一个/上一个拼写错误的单词时[s,SpellCap&包含SpellRare单词。

我设法通过将set spellcapcheck=放入我的.vimrc来禁用SpellCap,但我似乎无法找到任何方法为SpellRare做类似的事情。

使用[S& ]S代替[s& ]s将是一个很好的解决方案,但这只会让你转到下一个/上一个SpellBad单词。我希望它包括SpellBad&拼写单词。

现在有人怎么做?

2 个答案:

答案 0 :(得分:2)

好的,所以对于任何有兴趣的人来说,这里是我如何做到这一点的确切指令集。

  1. set spellcapcheck=添加到您的vimrc中。这将禁用拼写检查,这些拼写检查是在句点之后没有大写的。这是一个可选步骤,如果你想要这个,你可以自己决定。
  2. 从Open Office的词典存档下载完整的英语词典包(包含所有不同版本的英语) - 这里是链接http://archive.services.openoffice.org/pub/mirror/OpenOffice.org/contrib/dictionaries/en_EN-pack.zip
    将其解压缩到一个目录&然后将所有生成的zip文件解压缩到同一目录中。
  3. 确保您的终端位于您刚刚将所有内容解压缩到&状态的目录中然后打开Vim或gVim。然后运行命令:mkspell xxxxx en_AU en_CA en_GB en_NZ en_US (只需将xxxxx替换为您要为字典提供的名称)
    系统会提示您提供有关重复条目的大量消息。我建议只需按住“输入”键即可。按下按钮,使它们尽可能快地消失 如果一切正常,您应该在目录中找到一个名为xxxxx.utf-8.spl的文件。将该文件移至〜/ .vim / spell
  4. set spelllang=xxxxx_yy放入您的vimrc,其中yy是您所需区域的2个字母小写缩写(au,ca,gb,nz或us)
    从现在开始,您的拼写检查器应该只显示来自其他地区的错误拼写的单词或单词。没有那些令人讨厌的"稀有"话。
  5. NB有些人可能已经注意到,在制作字典时,我没有包含连字词典(hyph_en_GB& hyph_en_US)。这是b / c I当我试图包含它们时,spl文件没有生成。也许其他人可以解释为什么会出现这种情况& /或如何修复它。

答案 1 :(得分:1)

您可以覆盖]s映射以跳过罕见的拼写错误(例如通过检查语法),但最干净的方法是构建排除稀有单词的自定义拼写文件。

由于这些是由?标志(:help spell-RARE)标识的,因此过滤它们应该是微不足道的。构建它们(:help Myspell)可能更复杂;到目前为止我还没有完成。