Kri*_*ian 31 vim latex spell-checking region
我使用Vim来编写我的.tex文件,但是在使用Vim中的拼写检查程序时遇到了问题.有时它不检查单词,我认为可能是由于以下原因.
由于Vim显然不应该检查.tex文档中的所有单词,例如,不是前导码,它只检查某些区域中的拼写(在语法意义上).正如我从这里收集的那样,其中一个地区是texSectionZone.这些区域可能变得非常大,实际上通常是一个区域,所以Vim很难意识到它实际上是在某个texSectionZone区域(或其他区域),因此不会检查拼写.如果我在文档中进行搜索,或者跳过多行(或更确切地说是页面)的任何类型的跳转,都会发生这种情况.
我得出结论的方式可能是以下原因:我知道命令
:echo synIDattr(synID(line("."),col("."),1),"name")
Run Code Online (Sandbox Code Playgroud)
打印你所在的地区/地区的名称(我在这里找到了),所以当拼写检查工作不起作用时我尝试了这个,它告诉我它根本不在任何地区.它工作的地方,我在一个应该检查拼写的区域.
到目前为止,我唯一的解决方案是找到我希望拼写器检查的点上方最近的部分,然后手动将光标向下移动到给定点.
理想情况下,我非常想要一个确保不会发生这种情况的解决方案,但我也会选择一种方法来手动使vim'更新'它所在的区域,而不必移动光标.在后一种情况下,我正在考虑一种可以用于捷径的解决方案.
PS我怀疑该怎么称呼这个问题.如果你想出一个更好地解释问题的标题,可以随意改变它.
小智 40
在没有定义语法组(或由vim找到)的情况下,不会进行拼写检查.我发现即使对于未定义的组也启用拼写检查很有用(请参阅vim的语法文档中的toplevel).
为此,请编写命令:
syntax spell toplevel
Run Code Online (Sandbox Code Playgroud)
在文件中~/.vim/after/syntax/tex.vim.如果文件不存在,请生成该文件.
Ing*_*kat 21
syntax/tex.vim已经使用了相当精细的同步模式来确保语法高亮是准确的,但对于长而复杂的文档,这可能仍然失败.
你能做的最好的就是努力增加两个值
syn sync maxlines=200
syn sync minlines=50
Run Code Online (Sandbox Code Playgroud)
(例如2000和500).将其放入~/.vim/after/syntax/tex.vim以覆盖默认值.
syntax sync fromstart
Run Code Online (Sandbox Code Playgroud)
可能会给出最好的结果,但可能会太慢.您将在以下位置找到语法同步的说明:help :syn-sync.
| 归档时间: |
|
| 查看次数: |
6474 次 |
| 最近记录: |