Типы файлов vim и TeX: открытый текст против текстовых

24

Я открываю .texфайлы с помощью Vim, но некоторые файлы распознаются как, filetype=plaintexа другие как filetype=tex. Почему это? Что такое триггер, который распознает файл как tex, который имеет нужную подсветку?

Стефано Борини
источник

Ответы:

24

Почему некоторые .texфайлы открываются в Vim как, filetype=plaintexа другие как filetype=tex? Поскольку .texв этом случае одно и то же расширение используется для нескольких типов файлов, «Vim пытается угадать, что это за файл», в соответствии с документацией Vim, определяющей тип файла .

В разделе ft-tex-plugin документации по типам файлов Vim перечислены правила, используемые Vim ( версии 7 и выше ), чтобы определить, какой тип .texфайла использовать для файлов:

  1. Если первая строка файла - %&<format>где <format>может быть plaintex, contextили tex, тогда тип файла устанавливается равным обычному TeX, ConTeXt или LaTeX, соответственно.
  2. Если в первой строке нет команды обозначения формата, то Vim ищет в файле ключевые слова, чтобы определить, должен ли тип файла быть установлен на context(ConTeXt) или tex(LaTeX).
  3. Если ключевые слова не найдены, тип файла устанавливается равным 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"
Мэтью Ранкин
источник
13

Вы используете плагин LaTeX-suite? Если так, то вы, вероятно, хотите

let g:tex_flavor='latex'

в вашем .vimrc.

радостный
источник
Это не имеет ничего общего с плагином LaTeX-suite. Смотрите ответ Мэтью Ранкин или :h ft-tex-plugin.
Хотчке