Vim 拼写检查并不总是在 .tex 文件中工作。检查 Vim 中的区域

标签 vim latex spell-checking region

我使用 Vim 编写 .tex 文件,但 Vim 中的拼写检查器出现问题。有时它不检查单词,我认为可能是由于以下原因。

由于 Vim 显然不应该检查 .tex 文档中的所有单词,例如,不检查序言,它只检查某些区域的拼写(在语法意义上)。正如我从 here 中收集到的,这些区域之一是 texSectionZone 。这些区域可能变得相当大,实际上节经常如此,因此 Vim 很难意识到它实际上位于 texSectionZone 区域(或任何其他区域),因此不检查拼写。如果我在文档中进行搜索,或者进行任何类型的跳过多行(或更确切地说是页面)的跳转,则可能会发生这种情况。

我得出这可能是原因的方式如下:我知道该命令

:echo synIDattr(synID(line("."),col("."),1),"name")

打印您所在的一个或多个区域的名称(我发现它 here ),所以当拼写检查器不起作用时,我尝试了这个,它告诉我它根本不在任何区域。在它确实起作用的地方,我所在的区域应该检查拼写。

到目前为止,我唯一的解决方案是找到我希望拼写器检查的点上方最近的部分,然后手动将光标向下移动到给定点。

理想情况下,我非常希望有一个解决方案能够确保这种情况不会发生,但我也会选择一种手动使 vim“更新”它所在区域的方法,而无需我大量移动光标。在后一种情况下,我正在考虑一种可以采用快捷方式的解决方案。

PS 我不确定如何称呼这个问题。如果您想出一个可以更好地解释问题的标题,请随意更改它。

最佳答案

如果没有定义语法组(或由 vim 找到),则不会进行拼写检查。我发现即使对于未定义的组启用拼写检查也很有用(请参阅 vim 语法文档中的 toplevel)。

为此,请编写命令:

syntax spell toplevel

在文件~/.vim/after/syntax/tex.vim中。如果文件不存在则创建该文件。

关于Vim 拼写检查并不总是在 .tex 文件中工作。检查 Vim 中的区域,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23353009/

相关文章:

vim - 如何仅在 Vim 中的某些上下文中启用语法隐藏?

R:我如何强制 stargazer 在同一个表中包含两个模型(它们具有相同的系数),而它不会自动这样做?

latex - 如何在投影仪演示中包含代码片段?

intellij-idea - 如何在 IDEA 中为自定义语言插件启用拼写检查?

Lucene 同义词扩展、词干、拼写检查等

python - Sphinx - 找不到语言 fr、cs 等的分词器

vim - vim插件脚本中,如何获取文件的路径?

vim - 如何为 vsvim 设置一个单独的 _vimrc

vim - 如何告诉 Vim 在保存前自动缩进

python - 如何从 python 调用 MiKTeX 生成 pdf?