Vim 在 LaTeX 对齐中的缩进变得疯狂

Vim 在 LaTeX 对齐中的缩进变得疯狂

我从 LaTeX 文档中的以下内容开始:

\begin{align*}
    u(x, t) &= \frac a2 \int_0^t \dif s \int_{x-a(t-s)}^{x+a(t-s)} \dif y \sin(\omega y) \\
\end{align*}

然后我继续输入第二行,Vim 对齐了&,这很整洁。在第一个 之前一切都很顺利}

\begin{align*}
    u(x, t) &= \frac a2 \int_0^t \dif s \int_{x-a(t-s)}^{x+a(t-s)} \dif y \sin(\omega y) \\
            &= \frac{1
\end{align*}

然后我输入它}执行以下操作:

\begin{align*}
    u(x, t) &= \frac a2 \int_0^t \dif s \int_{x-a(t-s)}^{x+a(t-s)} \dif y \sin(\omega y) \\
                  &= \frac{1}
\end{align*}

每增加一个},它就会缩进一点。一段时间后,整个文本align*就完全无法阅读了。

我怎样才能让 Vim 停止这样做?

我的完整 .vimrc

答案1

我遇到了同样的问题。gvim 忽略了我在 .vimrc 中的 noautoindent 设置。我用:verbose set ai?它检查了 .tex 文件中的设置,发现自动缩进是通过 vim-latex 插件启用的。要禁用括号后的缩进,请将以下代码放入 .vimrc(或 .vim/after/ftplugin/tex.vim):

let g:tex_indent_brace=0

如果您不使用 vim-latex,请尝试找出导致缩进的脚本。

答案2

我通过以下方法解决了这个问题:set expandtab(panos 的解决方法对我来说不起作用)。当文件中混合有制表符和空格时,vim 插件似乎会感到困惑。所以我设置了.vimrc

autocmd Filetype tex setlocal expandtab

http://vim.wikia.com/wiki/Converting_tabs_to_spaces有关 vim 中的制表符和空格的详细信息。

答案3

panos 和 Stephan Kulla 的解决方案对我不起作用。我所采用的方法是创建一个文件 ~/.vim/indent/tex.vim,其中包含一行let b:did_indent = 1(来自这里)。这将关闭所有文件类型的缩进tex,包括 LaTeX 文件。

相关内容