如何获得当前的主模式?


30

如果我正在emacs中编辑.tex文件,默认情况下(对我来说),该框架的右下角将显示“ LaTeX / P”。但是,我不会通过键入“ Mx LaTeX / P-mode”进入该模式;我只能通过输入“ Mx latex-mode”来达到目的。

除了谷歌搜索之外,我应该怎么知道我键入的要进入该模式的内容是“乳胶模式”?

Answers:


43

我认为最简单的方法是major-mode使用以下任一方法来检查局部缓冲区变量的值:

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

12

C-h m 为您提供有关当前模式的帮助,它通常会告诉您打开该模式的命令的名称。

例如,在Emacs-Lisp模式下会C-h m告诉您您处于Emacs-Lisp模式下。打开该模式的命令为emacs-lisp-mode

C-h m还提供了到定义模式的库的链接,如果单击该链接,它将带您到mode命令的定义。例如,在Emacs-Lisp模式下会C-h m告诉您:

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

而且,如果您单击链接,lisp-mode.el那么Emacs将带您进入command的定义emacs-lisp-mode,这是打开模式的命令:

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

0

仅通过评估以下表达式即可获得主模式:

(print major-mode)


2
这似乎重复了@phils的答案:检查变量major-modeemacs.stackexchange.com/a/18084/105)。
提请

是的,我们正在评估课程的同一事物变量,因为那是存储主模式值的东西。区别只是您要实现该功能的方式。也许我们可以使用此命令定义一个函数,然后将其与键绑定。所以我的观点是elisp与使用emacs模式行。
sidharth arya
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.