【发布时间】:2014-12-29 13:49:44
【问题描述】:
我使用问题集类来键入我的问题集。我经常有一个如下所示的 main.tex 文件。
\documentclass{problemset}
\begin{document}
\input{problem1}
\end{document}
我通常为每个问题使用不同的文件。例如,problem1.tex 可能如下。
\begin{problem}
there is a spelling errrrrrrror here
\end{problem}
我希望 vim 检测 issue1.tex 中的拼写错误,但不幸的是它没有。正如this post 中所述,问题似乎是vim 无法识别任何语法区域:当我运行命令时
:echo synIDattr(synID(line("."),col("."),1),"name")
我没有得到任何输出。再举一个例子,如果我将 issue1.tex 更改为以下内容,则识别出拼写错误。
\section{dummy section}
\begin{problem}
there is a spelling errrrrror here
\end{problem}
我尝试为我的问题环境创建语法区域,但没有成功。我的尝试包括创建以下 .vim/syntax/tex.vim 文件。
syntax region texProblem start="\\begin{problem}" end="\\end{problem}" contains=@Spell
当我创建这个 tex.vim 文件时似乎什么都没有发生。我使用 scriptnames 来检查是否正在加载语法文件(默认语法文件也在我的之后加载)。正如here 所建议的那样,我还可以通过将文件类型设置为纯文本来标记拼写错误,但这似乎是一个可怕的黑客攻击。似乎应该有更好的方法在我的问题 1.tex 文件中进行拼写检查。
【问题讨论】:
-
正是我的问题。有什么解决办法吗?
-
将
syntax spell toplevel添加到.vim/syntax/tex.vim对我来说有效 -
我在 debian wheezy/7.8 下运行 vim73 的 vim-latexsuite,它也对我有用: cp /usr/share/vim/vim73/syntax/tex.vim 。添加 ''syntax spell toplevel'' 并且拼写错误现在显示在 \include-ed 文件中。谢谢,斯特林!
标签: vim spell-checking