Typy plików vim i TeX: plaintex vs. tex

24

Otwieram .texpliki w Vimie, ale niektóre pliki są rozpoznawane jako, filetype=plaintexa inne jako filetype=tex. Dlaczego to? Jaki jest wyzwalacz, który rozpoznaje plik jako tex, który ma wyróżnienie, którego chcę?

Stefano Borini
źródło

Odpowiedzi:

24

Dlaczego niektóre .texpliki są otwierane w Vim as, filetype=plaintexa inne as filetype=tex? Ponieważ .texw tym przypadku używane jest to samo rozszerzenie dla wielu rodzajów plików, „Vim próbuje zgadnąć, jaki to plik”, zgodnie z dokumentacją zastępowania typów plików Vim .

Sekcja wtyczki ft-tex w dokumentacji typu pliku Vima zawiera listę reguł używanych przez Vima ( wersje 7 i nowsze ) w celu ustalenia, który typ pliku należy zastosować dla .texplików:

  1. Jeśli pierwsza linia pliku to %&<format>gdzie <format>może być plaintex, contextlub tex, następnie typ pliku jest ustawiony na zwykły tex kontekście lub lateks, odpowiednio.
  2. Jeśli w pierwszym wierszu nie ma polecenia oznaczenia formatu, Vim przeszukuje plik w poszukiwaniu słów kluczowych, aby ustalić, czy typ pliku powinien być ustawiony na context(ConTeXt) czy tex(LaTeX).
  3. Jeśli nie zostaną znalezione żadne słowa kluczowe, typ pliku jest ustawiony na plaintex(zwykły TeX).

Ostatnia zasada jest ważna. Jeśli utworzysz pusty .texplik za pomocą polecenia podobnego touch myfile.tex, to po otwarciu go w Vimie typ pliku będzie domyślnie plaintexustawiony na , ponieważ plik jest pusty.

Możesz zmienić domyślne zachowanie, ustawiając zmienną globalną tex_flavorw swoim .vimrc:

  • let g:tex_flavor = "plain"
  • let g:tex_flavor = "context"
  • let g:tex_flavor = "latex"
Matthew Rankin
źródło
13

Czy używasz wtyczki pakietu LaTeX? Jeśli tak, to prawdopodobnie chcesz

let g:tex_flavor='latex'

w twoim .vimrc.

frabjous
źródło
Nie ma to nic wspólnego z wtyczką pakietu LaTeX. Zobacz odpowiedź Matthew Rankin lub :h ft-tex-plugin.
Hotschke