現在のメジャーモードを取得するにはどうすればよいですか?


30

emacsで.texファイルを編集している場合、デフォルトでは(私にとっては)フレームの右下隅に「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モードになっていることがわかります。モードをオンにするコマンドはjust emacs-lisp-modeです。

C-h mまた、モードを定義するライブラリへのリンクを提供し、そのリンクをクリックすると、モードコマンドの定義に移動します。たとえば、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-modeemacs.stackexchange.com/a/18084/105)。
ドリュー

はい、同じものの変数を評価しています。これはメジャーモードの値を格納するものだからです。違いは、その機能の実装方法です。このコマンドを所定の位置に置いて関数を定義し、それをキーでバインドすることができます。私のポイントは、elispとemacsモードラインの使用です。
sidharthアリア
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.