Я открываю .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.