2015-11-10 8 views
0

В vim мне удалось установить автозаполнение Supertab. Когда я работаю над файлом .py, он работает нормально: я могу автозаполнять xxx_yyy, введя xxTAB (и он выдает варианты, если много xxx_yyy1xxx_yyy2 существуют).Vim autocompletion word with character _, in python и latex

Но на .tex файл, если у меня есть уже слово xxx_yyy, когда я типа xxTAB я получаю только матч xxx.

Как я могу сопоставить xxx_yyy с xxTAB в .tex файле тоже?

Это мой .vimrc:

filetype plugin indent on 
syntax on 
set backspace=indent,eol,start 
autocmd Filetype python setlocal expandtab tabstop=4 shiftwidth=4 
set ww=<,>,[,] 
+0

Я не знаю Supertab но поведение LaTeX является правильным, так как в LaTeX 'foo_bar' * не * одно слово:' _' не действует в именах макросов, и в целом это специальный символ, который добавляет индекс в математическом режиме (и создает ошибку в нормальном режиме, что является неудачным). –

+0

@ Konrad Rudolph: Мне полезно получить, например, все имена фигур при ссылках на них с помощью '\ label {}': '\ ref {fig_bla1}' Vs '\ ref {fig_bla2}' – scrx2

ответ

2

SuperTab использует встроенный вставки завершения режима (:help i_CTRL-N), и который основан на ключевых слов. Этот параметр является специфичным для файла, управляемым опцией 'iskeyword'. Для Python включен _, для Latex он не является (и основан на комментарии @Konrad Rudolph, по какой-то причине).

Вы можете, конечно, адаптировать это, если это вас беспокоит. В вашей ~/.vimrc:

autocmd Filetype tex setlocal iskeyword+=_ 
+0

, он работает, спасибо – scrx2