¿Cómo obtengo el modo principal actual?


30

Si estoy editando un archivo .tex en emacs, por defecto (para mí) la esquina inferior derecha del marco dirá "LaTeX / P". Sin embargo, no llegaré a ese modo escribiendo "Mx LaTeX / P-mode"; Solo puedo acceder escribiendo "Mx latex-mode".

Aparte de buscarlo en Google, ¿cómo se supone que debo saber que lo que escribo para llegar a ese modo es "modo látex"?

Respuestas:


43

Creo que la forma más simple es verificar el valor de la major-modevariable local del búfer , con cualquiera de:

  • C-hv major-mode RET
  • M-: major-mode RET

12

C-h m le brinda ayuda sobre el modo actual y, por lo general, le indica el nombre del comando que activa el modo.

Por ejemplo, en modo Emacs-Lisp C-h mle dice que está en Emacs-Lispmodo. El comando que activa el modo es justo emacs-lisp-mode.

C-h mtambién proporciona un enlace a la biblioteca que define el modo, y si hace clic en ese enlace, lo llevará a la definición del comando de modo. Por ejemplo, en el modo Emacs-Lisp C-h mte dice:

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

Y si hace clic en el enlace lisp-mode.el, Emacs lo lleva a la definición de comando emacs-lisp-mode, que es el comando que activa el modo:

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

0

Es posible obtener el modo principal simplemente evaluando esta expresión:

(print major-mode)


2
Esto parece repetir la respuesta de @ phils: examinar variable major-mode( emacs.stackexchange.com/a/18084/105 ).
Dibujó el

Sí, estamos evaluando la misma variable de curso, ya que eso es lo que almacena el valor del modo mayor. La diferencia es cómo quiere implementar esa función. tal vez podamos definir una función, con este comando en su lugar y vincularlo con una tecla. Entonces, mi punto es elisp vs usar la línea de modo emacs.
sidharth arya
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.