【问题标题】:vim spell checking - comments only in LaTeX filesvim 拼写检查 - 仅在 LaTeX 文件中的注释
【发布时间】:2011-08-17 03:19:53
【问题描述】:

我使用 gvim 来编辑 LaTex .tex 文件。我注意到它只会动态检查注释文本的拼写。如果我在常规文本中有错误 - 没有下划线。如果我用 % 评论这个文本,拼写错误会立即加下划线。怎么了?是不是打开了什么奇怪的选项?

【问题讨论】:

  • 这样的问题应该转移到tex.stackexchange.com吗?
  • 在我的例子中,我将摘要的正文从一个单独的文件中包含在input 中。我将begin/end 标签放到了抽象文件中,现在它可以工作了。

标签: vim latex spell-checking tex


【解决方案1】:

latex ft 插件方便地定义了这种行为。

SpellChecker : Spell check text including LaTeX documents

Using latexmk, vim spell checking and vim latex-suite

有一个选项似乎很接近:

:syntax spell [toplevel | notoplevel | default]

更新

还有

:he ft-tex-syntax

有非常有用的花絮,比如

Don't Want Spell Checking In Comments? ~

Some folks like to include things like source code in comments and so would
prefer that spell checking be disabled in comments in LaTeX files.  To do
this, put the following in your <.vimrc>: >
      let g:tex_comment_nospell= 1

你必须弄清楚你是否可以从那里使用/推断

【讨论】:

  • 感谢您的提示。我不认为我使用任何插件。另外,前段时间还好好的,现在就奇怪了
  • 如果您要玩“以前奏效”的游戏,很快就会有一个关键时刻,您只需要找出是什么改变了自己。否则,请查看这些资源,或者我将在稍后添加的其他资源
  • +1。 let g:tex_comment_nospell=1 适用于我的 vim 7.3。使用 % (按照 OP 的要求)与 cmets 一起使用,但不适用于 comment 环境。 tex.stackexchange.com/questions/9303/… 似乎涵盖了后者。
【解决方案2】:

我遇到了同样的问题(VIM 7.3),但this post at the vim-latex-devel mailing list 提供了线索。为了让拼写检查工作,我不得不把

syntax spell toplevel

在我的~/.vimrc 中,但必须在之后声明

syntax enable

syntax on

让它工作。

【讨论】:

  • 对我有用,但是在启动时吐出 vimrc 解析错误,说 toplevel 不是有效选项:``` 处理 /home/madanh/.vimrc 时检测到错误:第 74 行:E518:未知选项:顶级```
  • 好的,即使我只是将syntax spell 附加到我的.vimrc 中也可以。现在没有错误。
  • 在 Vim 7.4 中为我工作。
【解决方案3】:

我不知道这是否是粗略的破解和预期的解决方案,但我创建了一个名为 .vim/after/syntax/tex.vim 的文件 包含单行:

syn match texText "\<\w\+\>" contains=@Spell

现在 vim 拼写检查命令和作为参数传递的文本之间的正常文本,因为你无法在语法上区分它们:

\frametitle{TextToBeChecked}
\pgfuseimage{VariableNotToBeChecked}

因此,它在我的序言中检查得太多了。但我把它放在另一个文件中,所以我不在乎。

【讨论】:

    【解决方案4】:

    在处理包含在主文档中的文件时,经常会出现此问题。

    如果您打开的 TeX 文件将被包含但不包含节、章、\begin{document}、...,您可以通过在文件顶部添加 %begin-include 来标记它。这样,vim 将文件内容识别为 texDocZone 区域的一部分,从而启用拼写检查。

    使用%end-include,您可以设置texDocZone 的结尾。

    此行为似乎没有记录,但在 vim 语法文件中有所描述:https://github.com/vim/vim/blob/master/runtime/syntax/tex.vim

    tl;dr:将 %begin-include 添加到 tex 文件的顶部。

    【讨论】:

      【解决方案5】:

      我遇到了同样的问题——我的书第一章的 .tex 文件拼写检查正常,但第二章的文件只会对 cme​​ts 进行拼写检查。这显然是因为 vim 没有查看足够多的上下文而感到困惑。 Ingo Karkat 的解决方案here 为我修复了它。具体来说,我使用了:

      syn sync maxlines=2000
      syn sync minlines=500
      

      在 ~/.vim/after/syntax/tex.vim

      【讨论】:

        【解决方案6】:

        tldr;不要将\section 命令放在你的主.tex 文档中

        我做了同样的观察,我也会坚持“之前,它有效,我没有改变任何东西”。

        然后我观察到这种不需要的行为只发生在.tex 文档中,我有一个master.tex包含章节作为单独的chapterx.tex 文件。此外,如果所有\section 定义都在chapterx.tex 中并且NOTmaster.tex 中,则一切正常。

        否则,我认为,vim 语法和拼写检查例程很难确定它们在哪个区域,参见。这个问题Vim spellcheck not always working in .tex file. Check region in Vim

        【讨论】:

          【解决方案7】:

          我发现了同样的问题,但有不同的解决方案。在某些 .tex 文件中,拼写检查按预期工作,而其他文件则没有(documentclass {scrlttr2})。只有在 cmets 中的文字有下划线......所以我比较了一份工作和一份不工作的 .tex 文件的标题。我发现了一个令人惊讶的 texblock,它阻碍了文档本身的拼写检查:

          \usepackage{array}
          \newenvironment{Conditio}
            {\par\vspace{\abovedisplayskip}\noindent\begin{tabular}{>{$}l<{$} @{${}={}$} l}}
            {\end{tabular}\par\vspace{\belowdisplayskip}}
          

          这段代码只是我之前编辑过的不同法律文本的“宿醉”。将其注释掉,在信函文档中使用突出显示的文本设置正常的拼写检查。 (MacVim 8.1 latex-suite macOS 10.13.6 vim-latex v1.10.0)

          【讨论】:

          • 这很有趣。我又遇到了这个问题,但忘记了我几个月前给出的这个答案。突然我意识到,这个答案(有效!)来自我自己!在上面的评论中有一个尴尬的英文错误:想说“leftover”而不是 hangover ...
          【解决方案8】:

          这里没有一个答案对我有用,但我可以看到如果我在 vim 中输入 syntax spell 作为命令它会起作用。

          原来是因为没有自动为 tex 文件类型设置语法,我找到了解决方案here

          在 TeX cmets 中只有 vim 的拼写检查

          用 vim 编辑 LaTeX 文档,我注意到它只是拼写检查 cmets。我修复了这个 将此添加到我的./vimrc

          autocmd FileType plaintex,tex,latex syntax spell toplevel

          【讨论】:

            猜你喜欢
            • 2014-12-29
            • 1970-01-01
            • 1970-01-01
            • 2013-10-05
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            相关资源
            最近更新 更多