Generally, how can I customize the value of a buffer-local variable in Emacs? For example, the variable w3m-lnum-mode
is buffer-local, if I set (setq w3m-lnum-mode t)
in .emacs
, its value in a w3m mode buffer is still nil. How could I set it to t
in w3m major mode?
问问题
794 次
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 回答