58

Google で検索してマニュアルを調べてみましたが、バッファ オブジェクトのメジャー モードを取得する方法が見つかりません。例または参照を教えてください。ありがとう

私が見つけた唯一の解決策は、バッファを変更してから元のバッファに戻した後にメジャーモードを照会することでした。それを行うより良い方法はありますか?

4

7 に答える 7

43

問題はありますか?

(defun buffer-mode (buffer-or-string)
  "Returns the major mode associated with a buffer."
  (with-current-buffer buffer-or-string
     major-mode))

with-current-buffer戻ったときにバッファを復元します。

于 2010-02-10T16:45:01.633 に答える
41

現在のバッファの場合:

(message "%s" major-mode)
于 2013-02-16T10:37:28.927 に答える
34

これを行う簡単な方法は、 がバッファローカル変数であるため、buffer-local-value関数を使用することです。major-mode

(buffer-local-value 'major-mode (get-buffer "*scratch*"))
于 2012-07-15T00:49:10.283 に答える
0

ええと、describe-mode はオプションのバッファ引数を取りますが、ヘルプが表示されます...そして、それが何を返すのか正確にはわかりません...

しかし、それは私が簡単な検索で見つけることができる最高のものです...申し訳ありません...

于 2010-02-10T16:42:10.547 に答える