Я открываю .tex
файлы с помощью Vim, но некоторые файлы распознаются как, filetype=plaintex
а другие как filetype=tex
. Почему это? Что такое триггер, который распознает файл как tex, который имеет нужную подсветку?
Я открываю .tex
файлы с помощью Vim, но некоторые файлы распознаются как, filetype=plaintex
а другие как filetype=tex
. Почему это? Что такое триггер, который распознает файл как tex, который имеет нужную подсветку?
Ответы:
Почему некоторые .tex
файлы открываются в Vim как, filetype=plaintex
а другие как filetype=tex
? Поскольку .tex
в этом случае одно и то же расширение используется для нескольких типов файлов, «Vim пытается угадать, что это за файл», в соответствии с документацией Vim, определяющей тип файла .
В разделе ft-tex-plugin документации по типам файлов Vim перечислены правила, используемые Vim ( версии 7 и выше ), чтобы определить, какой тип .tex
файла использовать для файлов:
%&<format>
где <format>
может быть plaintex
, context
или tex
, тогда тип файла устанавливается равным обычному TeX, ConTeXt или LaTeX, соответственно.context
(ConTeXt) или tex
(LaTeX).plaintex
(обычный TeX).Последнее правило важно. Если вы создаете пустой .tex
файл с помощью такой команды, как touch myfile.tex
, то при открытии его в Vim тип plaintex
файла будет по умолчанию , поскольку файл пуст.
Вы можете изменить поведение по умолчанию, установив глобальную переменную tex_flavor
в вашем .vimrc
:
let g:tex_flavor = "plain"
let g:tex_flavor = "context"
let g:tex_flavor = "latex"
Больше, чем я когда-либо хотел знать об этом предмете: http://vimdoc.sourceforge.net/htmldoc/filetype.html
Чтобы отключить один из типов файлов, добавьте строку в файл filetype, см. | Remove-filetype |.
:h ft-tex-plugin
.