Comment obtenir le mode principal actuel?

30

Si je modifie un fichier .tex dans emacs, par défaut (pour moi) le coin inférieur droit du cadre indiquera "LaTeX / P". Cependant, je ne parviendrai pas à ce mode en tapant "Mx LaTeX / P-mode"; Je ne peux y accéder qu'en tapant "Mx latex-mode".

À part Googler, comment suis-je censé savoir que ce que je tape pour accéder à ce mode est le "mode latex"?

John Smith
la source

Réponses:

43

Je pense que la manière la plus simple est de vérifier la valeur de la major-modevariable buffer-local , avec:

  • C-hv major-mode RET
  • M-: major-mode RET
phils
la source
12

C-h m vous donne de l'aide sur le mode actuel et vous indique généralement le nom de la commande qui active le mode.

Par exemple, en mode Emacs-Lisp C-h mvous indique que vous êtes en Emacs-Lispmode. La commande qui active le mode est juste emacs-lisp-mode.

C-h mfournit également un lien vers la bibliothèque qui définit le mode, et si vous cliquez sur ce lien, il vous amène à la définition de la commande mode. Par exemple, en mode Emacs-Lisp C-h mvous indique:

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

Et si vous cliquez sur le lien, lisp-mode.elEmacs vous amène à la définition de la commande emacs-lisp-mode, qui est la commande qui active le mode:

(define-derived-mode emacs-lisp-mode prog-mode "Emacs-Lisp"
  "Major mode for editing Lisp code to run in Emacs.
  ...)
A dessiné
la source
0

Il est possible d'obtenir le mode majeur simplement en évaluant cette expression:

(print major-mode)

Sidharth arya
la source
2
Cela semble répéter la réponse de @ phils: examinez la variable major-mode( emacs.stackexchange.com/a/18084/105 ).
Drew
Oui, nous évaluons la même chose variable de cours, car c'est ce qui stocke la valeur du mode majeur. La différence est juste la façon dont vous souhaitez implémenter cette fonction. nous pouvons peut-être définir une fonction, avec cette commande en place et la lier avec une clé. Donc mon point étant elisp vs en utilisant la ligne de mode emacs.
sidharth arya