2013-02-09 38 views
2

一般来说,我如何定制Emacs中缓冲区局部变量的值?例如,变量w3m-lnum-mode是缓冲区本地的,如果我在.emacs中设置(setq w3m-lnum-mode t),它在w3m模式缓冲区中的值仍然为零。我怎么能在w3m主模式下将它设置为t如何更改Emacs中主要模式的缓冲区局部变量?

回答

1

主要模式有这种事情的钩子变量。寻找w3m-mode-hook

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

挂钩一个单独的函数的间接不是绝对必要的,但简化的钩功能管理(否则你不得不重新启动的Emacs或通过几个跳火圈的东西添加到现有的挂钩;现在所有你需要做的就是评估钩子调用函数的新defun)。

0

您可以设置默认像这样:

(setq-default w3m-lnum-mode t) 

细粒度控制,使用挂钩作为RNAer建议。据我所知,这不是一个正常的局部变量,而是一个次要模式变量。你其实可能想要做(w3m-lnum-mode 1)

相关问题