Vim:尝试修改拼写检查器以排除“罕见”单词

pic*_*323 5 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 和 SpellLocal 单词。

现在有人该怎么做吗?

pic*_*323 6

好的,对于任何感兴趣的人,这里有一套关于我如何做到这一点的精确说明。

  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 替换为您想要为词典指定的任何名称),系统
    将提示您大量有关重复条目的消息。我建议按住“Enter”按钮以使这些尽快消失。
    如果一切正常,您的目录中应该会出现一个名为 xxxxx.utf-8.spl 的文件。将该文件移至 ~/.vim/spell
  4. 放入set spelllang=xxxxx_yy您的 vimrc 中,其中 yy 是您所需区域的 2 个字母小写缩写(au、ca、gb、nz 或 us)
    从现在开始,您的拼写检查器应该只指示拼写错误的单词或来自其他区域的单词,而不是这些单词烦人的“罕见”词。

注意:你们中的一些人可能已经注意到,在制作我的字典时,我没有包含连字符字典(hyph_en_GB 和 hyph_en_US)。这是 b/c,当我尝试包含它们时,spl 文件没有生成。也许其他人可以阐明为什么会出现这种情况和/或如何解决它。


Ing*_*kat 1

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

由于这些是由?标志 ( :help spell-RARE) 标识的,因此将它们过滤掉应该很简单。构建它们 ( :help Myspell) 可能会更复杂;到目前为止我还没有这样做。