Как мне получить текущий основной режим?


30

Если я редактирую файл .tex в emacs, по умолчанию (для меня) в правом нижнем углу фрейма будет написано «LaTeX / P». Однако я не попаду в этот режим, набрав «Mx LaTeX / P-mode»; Я могу добраться до него только набрав "Mx latex-mode".

Кроме как погуглить, как я узнаю, что для ввода в этот режим я набираю «режим латекса»?

Ответы:


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 приведет вас к определению команды 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-mode( emacs.stackexchange.com/a/18084/105 ).
Дрю

Да, мы оцениваем одну и ту же переменную, конечно же, так как именно она хранит значение основного режима. Разница только в том, как вы хотите реализовать эту функцию. может быть, мы можем определить функцию с помощью этой команды и связать ее клавишей. Так что моя точка зрения заключается в том, что elisp против использования линии режима emacs.
Сидхарт Арья
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.