Філетипи vim та TeX: Plaintex vs. tex


24

Я відкриваю .texфайли за допомогою Vim, але деякі файли розпізнаються як, filetype=plaintexа інші як filetype=tex. Чому це? Що таке тригер, який розпізнає файл як tex, який має виділення, яке я хочу?

Відповіді:


24

Чому деякі .texфайли відкриваються у Vim як, filetype=plaintexа інші як filetype=tex? Оскільки те саме розширення, .texв даному випадку, використовується для декількох файлів, "Vim намагається відгадати, що це за файл" згідно документації щодо перезавантаження файлів Vim .

У розділі ft-tex-плагіну документації щодо файлів 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.
Хоцке

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.