Wie bekomme ich den aktuellen Hauptmodus?

30

Wenn ich eine .tex-Datei in Emacs bearbeite, wird (für mich) in der unteren rechten Ecke des Rahmens standardmäßig "LaTeX / P" angezeigt. Allerdings komme ich nicht in diesen Modus, wenn ich "Mx LaTeX / P-mode" eingebe. Ich kann es nur erreichen, indem ich "Mx latex-mode" eingebe.

Woher soll ich, abgesehen von Googeln, wissen, dass ich "Latex-Modus" tippe, um in diesen Modus zu gelangen?

John Smith
quelle

Antworten:

43

Ich denke, die einfachste Möglichkeit besteht darin, den Wert der pufferlokalen major-modeVariablen zu überprüfen.

  • C-hv major-mode RET
  • M-: major-mode RET
Phils
quelle
12

C-h m Gibt Ihnen Hilfe zum aktuellen Modus und gibt Ihnen in der Regel den Namen des Befehls an, mit dem der Modus aktiviert wird.

Im Emacs-Lisp-Modus werden C-h mSie beispielsweise darüber informiert , dass Sie sich im Emacs-LispModus befinden. Der Befehl, der den Modus einschaltet, lautet einfach emacs-lisp-mode.

C-h mBietet auch einen Link zu der Bibliothek, die den Modus definiert. Wenn Sie auf diesen Link klicken, gelangen Sie zur Definition des Modusbefehls. Im Emacs-Lisp-Modus C-h merfahren Sie beispielsweise Folgendes :

Emacs-Lisp mode defined in `lisp-mode.el'

Und wenn Sie auf den Link klicken, werden Sie von lisp-mode.elEmacs zur Definition des Befehls weitergeleitet emacs-lisp-mode, der den Modus einschaltet:

(define-derived-mode emacs-lisp-mode prog-mode "Emacs-Lisp"
  "Major mode for editing Lisp code to run in Emacs.
  ...)
Drew
quelle
0

Es ist möglich, den Hauptmodus zu erhalten, indem man nur diesen Ausdruck auswertet:

(print major-mode)

Sidharth Arya
quelle
2
Dies scheint die Antwort von @ phils zu wiederholen: Prüfe die Variable major-mode( emacs.stackexchange.com/a/18084/105 ).
Drew
Ja, wir bewerten natürlich die gleiche Variable, da sie den Wert des Dur-Modus speichert. Der Unterschied ist nur, wie Sie diese Funktion implementieren möchten. Vielleicht können wir mit diesem Befehl eine Funktion definieren und sie mit einer Taste verbinden. Mein Punkt ist also elisp vs mit Emacs-Modus Linie.
Sidharth Arya