vim- und TeX-Dateitypen: plaintex vs. tex


24

Ich öffne .texDateien mit Vim, aber einige Dateien werden als filetype=plaintexund andere als erkannt filetype=tex. Warum ist das? Was ist der Auslöser, der die Datei als Text erkennt, der die von mir gewünschte Hervorhebung aufweist?

Antworten:


24

Warum werden einige .texDateien in Vim as filetype=plaintexund andere in as geöffnet filetype=tex? Da dieselbe Erweiterung .texin diesem Fall für mehrere Dateitypen verwendet wird, versucht "Vim zu erraten, um welche Art von Datei es sich handelt", wie in der Dokumentation zur Vim-Dateitypüberschreibung angegeben .

Im Abschnitt ft-tex-plugin der Dokumentation zu Vim-Dateitypen werden die Regeln aufgeführt, nach denen Vim ( Version 7 und höher ) festlegt, welcher Dateityp für .texDateien verwendet werden soll:

  1. Wenn die erste Zeile der Datei ist , %&<format>wo <format>sein kann plaintex, contextoder ist tex, dann wird der Dateityp zu TeX gesetzt, Kontext- oder Latex, respectively.
  2. Befindet sich in der ersten Zeile kein Formatbezeichnungsbefehl, durchsucht Vim die Datei nach Schlüsselwörtern, um festzustellen, ob der Dateityp auf context(ConTeXt) oder tex(LaTeX) festgelegt werden soll.
  3. Wenn keine Schlüsselwörter gefunden werden, wird der Dateityp auf plaintex(TeX) gesetzt.

Die letzte Regel ist wichtig. Wenn Sie eine leere .texDatei mit einem Befehl wie erstellen touch myfile.tex, wird beim Öffnen in Vim standardmäßig plaintexder Dateityp verwendet, da die Datei leer ist.

Sie können das Standardverhalten ändern, indem Sie die globale Variable tex_flavorin Ihren .vimrc:

  • let g:tex_flavor = "plain"
  • let g:tex_flavor = "context"
  • let g:tex_flavor = "latex"

13

Verwenden Sie das LaTeX-Suite-Plugin? Wenn ja, dann möchten Sie wahrscheinlich

let g:tex_flavor='latex'

in Ihrer .vimrc.


Dies hat nichts mit dem LaTeX-Suite-Plugin zu tun. Siehe Antwort von Matthew Rankin oder :h ft-tex-plugin.
Hotschke

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.