【问题标题】:Vim: Trying to modify the spell checker to exclude "rare" wordsVim:尝试修改拼写检查器以排除“稀有”单词
【发布时间】:2015-01-21 16:22:28
【问题描述】:

根据: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 单词。

现在有人怎么做吗?

【问题讨论】:

    标签: vim spell-checking


    【解决方案1】:

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

    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 是您所需区域(au、ca、gb、nz 或us)的2 个字母小写缩写
      从现在开始,您的拼写检查器应该只指出拼写错误的单词或来自另一个地区的单词,而不是那些烦人的“稀有”单词。

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

    【讨论】:

      【解决方案2】:

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

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

      【讨论】:

      • 感谢您的回复。我认为这绝对是正确的道路。但是,您将如何将它们过滤掉呢? .spl 文件不能直接修改或读取。我知道的唯一命令是 :spellgood! {word} 创建另一个临时 .spl 文件。如何指定多个单词。我需要类似 :spellgood 的东西! *?,但这不起作用
      • (二进制).spl 文件是从源代码构建的;我认为 .dic 文件。您需要在那里进行过滤(例如通过grep),然后从中构建您自己的 .spl 文件。
      猜你喜欢
      • 2013-08-14
      • 1970-01-01
      • 1970-01-01
      • 2014-08-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多