我正在使用带有一堆插件(pathogen,ctags,snipmate,supertab等)的Vim,对于所有类型的文件扩展名,一切都很正常。然而,当我尝试编辑.tex文件时,它出现了两个问题,似乎是相关的。首先,Vim开始变得非常缓慢,其次,当我按“任何字母+ Tab”时,它会尝试使用以前在文本中编写的单词进行自动完成。我尝试解决这些问题的一种方法是从我的bundle文件夹中删除supertab插件,但这不是一个令人满意的解决方案。
cursorline
开启了。通过切换到set nocursorline
,UI变得完全响应。我不知道为什么这只会发生在LaTeX文档中。 - koo" Latex specification
au BufNewFile,BufRead *.tex
\ set nocursorline |
\ set nornu |
\ set number |
\ let g:loaded_matchparen=1 |
\
和|
的作用是允许您将LaTeX命令分别添加到多行。cursorline
对我影响很大。你有任何想法为什么会发生这种情况吗?我觉得这真的真的不应该发生! - srscursorline
DoMatchParen
~/.vimrc
中执行以下操作。au FileType tex setlocal nocursorline
au FileType tex :NoMatchParen
完成这些步骤后,我的Vim处理.tex
文件的速度与处理.cpp
文件的速度一样快。
我知道这是一个老问题,但是如果有人现在看到这个问题,最好使用.vim
目录下的ftplugin/
文件夹来指定Vim在特定文件类型上启用某些选项。创建一个名为tex.vim
的文件,路径为~/.vim/ftplugin/tex.vim
,并包含以下选项:
set nocursorline
set nornu
let g:loaded_matchparen=1
这样做可以使Vim仅在TeX文件(*.tex
及其相关文件)中加载这些选项,而无需像gloriphobia的回答一样使用:autocommand
。
Folding(折叠)是另一个常见的减速源。通常情况下,它是默认禁用的,但也许你已经启用了它。你可以再次禁用它:
" (1) if you use the builtin TeX support:
" comment the line in your vimrc that looks like this:
"let g:tex_fold_enabled = ...
" OR, just to be sure, do:
unlet! g:tex_fold_enabled
" (2) if you rather use VimTeX:
" comment the line in your vimrc that looks like this:
"let g:vimtex_fold_enabled = 1
" OR, just to be sure, do:
let g:vimtex_fold_enabled = 0
" put this in your vimrc :
au FileType tex :syntax clear texDocZone
" OR put this in ~/.vim/after/syntax/tex.vim :
syntax clear texDocZone
另外,如果您安装了 VimTeX,您可以将内置的 TeX 折叠替换为 VimTeX 的折叠。我发现它通常更好,并且它会小心地避免折叠 document
环境。
" put this in your vimrc :
unlet! g:tex_fold_enabled " just to be sure
let g:vimtex_fold_enabled = 1
VimTeX的折叠功能可以很好地进行自定义,详见:help vimtex-folding
。
截至2022年4月版本121(内置的TeX语法)。
<Tab>
”吗? - romainl:set completeopt-=i
- 不确定它是否对latex有帮助。 - sehe