python和latex中带字符ux的Vim自动补全字

python和latex中带字符ux的Vim自动补全字,vim,autocomplete,latex,supertab,Vim,Autocomplete,Latex,Supertab,在vim中,我设法让autocompletion安装Supertab。 当我处理.py文件时,它工作正常:我可以通过键入xxx选项卡(如果存在多个xxx\u yyyy1xxx\u yyyyy2自动完成) 但是在.tex文件上,如果我已经有了单词xxx\u yyy,当我键入xxTAB时,我会得到唯一匹配的xxx 如何将.tex文件中的xxx\u yyy与xxTAB进行匹配 这是我的。vimrc: filetype plugin indent on syntax on set backspace=i

在vim中,我设法让autocompletion安装Supertab。 当我处理.py文件时,它工作正常:我可以通过键入
xxx选项卡
(如果存在多个
xxx\u yyyy1
xxx\u yyyyy2
自动完成)

但是在.tex文件上,如果我已经有了单词
xxx\u yyy
,当我键入
xxTAB
时,我会得到唯一匹配的
xxx

如何将.tex文件中的
xxx\u yyy
xxTAB
进行匹配

这是我的。vimrc:

filetype plugin indent on
syntax on
set backspace=indent,eol,start
autocmd Filetype python setlocal expandtab tabstop=4 shiftwidth=4
set ww=<,>,[,]
filetype插件缩进
语法高亮
设置退格=缩进、下线、开始
autocmd文件类型python setlocal expandtab tabstop=4 shiftwidth=4
设置ww=,[,]

SuperTab使用内置的插入模式完成(
:help i_CTRL-N
),这是基于关键字的。此设置特定于文件类型,由
'iskeyword'
选项控制。对于Python,包含了
,而对于Latex,则没有(基于@Konrad Rudolph的评论,这是有原因的)

如果它困扰你,你当然可以调整它。在您的
~/.vimrc
中:

autocmd Filetype tex setlocal iskeyword+=_

我不知道Supertab,但LaTeX的行为是正确的,因为在LaTeX
foo\u bar
中,不是一个单词:
\uu
在宏名称中无效,通常它是一个特殊字符,在数学模式下添加下标(并在正常模式下创建错误,这是不幸的)@Konrad Rudolph:我发现检索所有图形名称非常有用,例如,当使用
\label{}
引用它们时:
\ref{fig_bla1}
Vs
\ref{fig_bla2}