忽略Vim中的一个“拼写错误”

时间:2011-04-04 09:47:47

标签: vim spell-checking

有没有办法告诉Vim不要突出一次单词?例如,在“密码是abc123”中,我不想将 abc123 添加到wordlist中,但仍然不喜欢它周围的大红色矩形。

澄清:我正在寻找一个让拼写检查器忽略当前单词(或最后拼写错误)的命令。

2 个答案:

答案 0 :(得分:32)

如果没有将某个词存储在某个地方,那么总是忽略它是很难的(并不是说不可能)。

但是,如果你想忽略一下一次这个词,那只是片刻,你可以用zG命令将它添加到内部列表中。

                                                             *zG*
zG              Like "zg" but add the word to the internal word list
                |internal-wordlist|.


                                               *internal-wordlist*
The internal word list is used for all buffers where 'spell' is set.  It is
not stored, it is lost when you exit Vim.  It is also cleared when 'encoding'
is set.

答案 1 :(得分:25)

当光标位于突出显示为拼写错误的单词上时,您可以按zg将其添加到单词列表中。 Vim允许您一次加载多个词表,这样就可以拥有(例如)全局词表和项目特定词表。

默认情况下,当您运行zg时,它会将当前单词添加到它在当前编码的运行时路径中找到的第一个spellfile。就我而言,当我使用UTF-8编码时,结果是~/.vim/spell/en.utf-8.add。尝试运行以下命令:

:setlocal spellfile+=~/.vim/spell/en.utf-8.add
:setlocal spellfile+=oneoff.utf-8.add

这会设置你,以便zg(或1zg)将当前单词添加到默认拼写文件中。但是运行2zg会将当前单词添加到名为oneoff.utf-8.add的文件中,与您正在处理的文件位于同一目录中。如果该文件不存在,Vim将尝试为您创建。

将来再次打开文件时,必须运行相同的两个命令才能让Vim检查oneoff.utf-8.add拼写文件。不幸的是,Vim不允许你在modeline中设置spellfile选项,所以如果你想在文件打开时自动运行这些命令,你必须找到其他方法。 This question包含一些关于如何继续进行的想法。