由于Vim显然不应该检查.tex文档中的所有单词,例如不包括导言部分,它只检查某些区域(从语法角度来看)的拼写。正如我从这里获得的信息,其中之一是texSectionZone。这些区域可能会变得非常大,事实上,一个章节通常就很大,因此Vim很难意识到它实际上处于texSectionZone区域(或其他任何区域),因此不会检查拼写。如果我在文档中进行搜索或跳过多行(或者说多页),就会发生这种情况。
我得出这个推断的方式是:我知道命令
:echo synIDattr(synID(line("."),col("."),1),"name")
打印你所在的区域/区域的名称(我在这里找到了here),因此当拼写检查器无法工作时,我尝试了这个方法,并且它告诉我它根本不在任何区域内。它有效的地方,我在应该检查拼写的区域。
到目前为止,我的唯一解决方案是找到我想要拼写检查程序检查的位置上面最近的部分,然后手动将光标移回给定点。
理想情况下,我非常希望有一个解决方案,确保不会发生这种情况,但我也可以接受一种方式,手动使vim“更新”其所在的区域,而不必让我移动光标很多次。在后一种情况下,我考虑一个可以制作成快捷方式的解决方案。
PS 我对如何称呼这个问题感到疑惑。如果您能想出一个更好地解释问题的标题,请随意更改。
set spell
才能正常工作。 - Justapigeon.vimrc
文件中。我不知道在.vimrc
中这样做是否会引起其他问题或者不是最好的方法,但对我来说,它很好用 - 至少乍一看是这样。但是,这可能会在我不想拼写检查的文件中变得烦人。无论如何,感谢这些提示! - Pryftanautocmd FileType tex syntax spell toplevel
这行添加到了我的.vimrc
文件中,效果很好。谢谢! - Roshan Sam