Geçerli ana modu nasıl alabilirim?


30

Emacs'de bir .tex dosyası düzenliyorsam, varsayılan olarak (benim için) çerçevenin sağ alt köşesinde "LaTeX / P" yazacaktır. Ancak, "Mx LaTeX / P-mode"; yazarak o moda ulaşamayacağım; Sadece "Mx lateks modu" yazarak ulaşabilirim.

Googling dışında, o moda almak için yazdığım şeyin "lateks modu" olduğunu nasıl bilebilirim?

Yanıtlar:


43

En basit yöntem tampon-yerel major-modedeğişkenin değerini aşağıdakilerden biriyle kontrol etmektir .

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

12

C-h m Geçerli mod hakkında size yardım eder ve tipik olarak size modu açan komutun adını söyler.

Örneğin, Emacs-Lisp modunda C-h m, Emacs-Lispmodda olduğunuzu gösterir. Modu açan komut sadece emacs-lisp-mode.

C-h mayrıca modu tanımlayan kütüphaneye bir bağlantı sağlar ve bu bağlantıya tıklarsanız sizi mod komutunun tanımına götürür. Örneğin, Emacs-Lisp modunda C-h msize şunları söyler:

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

Ve eğer linke tıklarsanız, lisp-mode.elEmacs sizi emacs-lisp-modemodu açacak olan komut tanımına götürür :

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

0

Sadece bu ifadeyi değerlendirerek ana modu elde etmek mümkündür:

(print major-mode)


2
Bu @ phils'in cevabını tekrarlıyor gibi görünüyor: değişkeni inceleyin major-mode( emacs.stackexchange.com/a/18084/105 ).
Drew

Evet, aynı şey tabir değişkenini değerlendiriyoruz, çünkü ana modun değerini saklayan şey budur. Fark, tam olarak bu fonksiyonu nasıl uygulamak istediğinizdir. belki bu komutu yerine getirerek bir fonksiyon tanımlayabilir ve bir anahtarla bağlayabiliriz. Demek istediğim elisp olmak emacs mode satırını kullanmak.
sidharth arya
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.