Puffermodus einer Datei dauerhaft ändern?

7

Anfängerfrage:

In OSX 10.6.8 verfügt Aquamacs über viele Puffermodi. Meine .tex-Dateien werden im TeX-Modus geöffnet, ich möchte sie jedoch im LaTeX-Modus öffnen. Ich kann den Modus mit "Puffermodus ändern" ändern, aber auch nach einem "Speichern" oder "Speichern unter" bleibt der alte Modus erhalten.

Wie kann ich den Modus ein für alle Mal ändern? (Die Frage bezieht sich auch auf Standard-Emacs, denke ich).

user5507
quelle
In Aquamacs gibt es kein "Speichern" oder "Speichern unter ..." . Meinen Sie zur Verdeutlichung "Puffer speichern" / "Puffer speichern unter ..." oder "Sitzung speichern unter ..."?
Greenonline

Antworten:

7

Zusätzlich zu Andrew Swanns spezifischer Antwort für TeX-Dateien besteht die allgemeinere Möglichkeit, den Modus nach Dateierweiterung festzulegen, darin, einen neuen Eintrag in das Feld einzufügen (oder den vorhandenen anzupassen) auto-mode-alist.

Aus dem Handbuch :

Diese Variable enthält eine Zuordnungsliste mit Dateinamenmustern (reguläre Ausdrücke) und entsprechenden Hauptmodusbefehlen. Normalerweise testen die Dateinamenmuster auf Suffixe wie '.el' und '.c', dies muss jedoch nicht der Fall sein. Ein gewöhnliches Element der Liste sieht aus wie (reguläre Ausdrucksmodus-Funktion).

Zum Beispiel,

      (("\\`/tmp/fol/" . text-mode)
       ("\\.texinfo\\'" . texinfo-mode)
       ("\\.texi\\'" . texinfo-mode)
       ("\\.el\\'" . emacs-lisp-mode)
       ("\\.c\\'" . c-mode)
       ("\\.h\\'" . c-mode)
       ...)

So würde man normalerweise eine dauerhafte Änderung an der Liste vornehmen mit etwas wie:

(add-to-list 'auto-mode-alist '("\\.tex\\'" . latex-mode))

Beachten Sie die Backslashes, die Sonderzeichen entgehen.

Die Liste funktioniert, weil der erste übereinstimmende Wert in der Liste verwendet wird. Sie können daher unabhängig vom ursprünglichen Inhalt dieses Dateityps den Anfang der Liste hinzufügen, und Ihr neuer Wert wird verwendet.

Dan
quelle
6

Sie können die Variable tex-default-modean z latex-mode.

Dies ist eigentlich der Standardwert in tex-mode.el. Entweder haben Sie eine Variableneinstellung / -anpassung, die diese überschreibt, möglicherweise von festgelegt, aquamacsoder Sie haben eine alte Installation von emacs.

Andrew Swann
quelle
3

Sie können auch lokale Dateivariablen verwenden: Fügen Sie diese %-*- mode: latex -*-als erste Zeile in Ihre Datei ein.

schaueho
quelle