3

一般的に、Emacsでバッファローカル変数の値をカスタマイズするにはどうすればよいですか?たとえば、変数w3m-lnum-modeはbuffer-localですが、を設定(setq w3m-lnum-mode t)した.emacs場合、w3mモードのバッファーでの値はnilのままです。どうすればtw3mメジャーモードに設定できますか?

4

2 に答える 2

2

メジャーモードには、この種のもののためのフック変数があります。を探しw3m-mode-hookます。

(defun my-w3m-hook nil
  (setq w3m-lnum-mode t))
(add-hook 'w3m-mode-hook #'my-w3m-hook)

別の関数をフックするための間接参照は絶対に必要というわけではありませんが、フック機能の管理を簡素化します(そうでない場合は、Emacsを再起動するか、既存のフックに何かを追加するためにいくつかのフープをジャンプする必要があります。今必要なのは評価することだけですdefunフックから呼び出された関数の新しい)。

于 2013-02-09T08:24:34.903 に答える
0

次のようにデフォルトを設定できます。

(setq-default w3m-lnum-mode t)

きめ細かい制御には、RNAerが提案するフックを使用します。私が知る限り、これは通常のローカル変数ではなく、マイナーモード変数です。あなたはおそらく実際にやりたいと思うでしょう(w3m-lnum-mode 1)

于 2013-02-09T11:30:20.787 に答える