Come posso ottenere l'attuale modalità principale?


30

Se sto modificando un file .tex in emacs, per impostazione predefinita (per me) l'angolo in basso a destra del frame dirà "LaTeX / P". Tuttavia, non accederò a quella modalità digitando "Mx LaTeX / P-mode"; Ci riesco solo digitando "Mx latex-mode".

Oltre a cercare su Google, come posso sapere che cosa digito per arrivare a quella modalità è "latex-mode"?

Risposte:


43

Penso che il modo più semplice sia verificare il valore della major-modevariabile buffer-local , con uno dei seguenti:

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

12

C-h m ti dà aiuto sulla modalità corrente e in genere ti dice il nome del comando che attiva la modalità.

Ad esempio, in modalità Emacs-Lisp C-h mti dice che sei in Emacs-Lispmodalità. Il comando che attiva la modalità è giusto emacs-lisp-mode.

C-h mfornisce anche un collegamento alla libreria che definisce la modalità e se si fa clic su quel collegamento, si accede alla definizione del comando mode. Ad esempio, in modalità Emacs-Lisp C-h mti dice:

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

E se fai clic sul link, lisp-mode.elEmacs ti porta alla definizione di comando emacs-lisp-mode, che è il comando che attiva la modalità:

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

0

È possibile ottenere la modalità principale semplicemente valutando questa espressione:

(print major-mode)


2
Questo sembra ripetere la risposta di @ phils: esaminare la variabile major-mode( emacs.stackexchange.com/a/18084/105 ).
Ha

Sì, stiamo valutando la stessa cosa variabile ofcourse, poiché questo è ciò che memorizza il valore della modalità principale. La differenza è proprio come si desidera implementare quella funzione. forse possiamo definire una funzione, con questo comando in atto e associarlo con un tasto. Quindi il mio punto di essere elisp vs usare la riga della modalità emacs.
Sidharth Arya,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.