0
在的.emacs局部变量为:我怎样才能让在Emacs的全球默认的缓冲区我曾经变量定义
(setq-default prevent-highlight-symbol-mode nil)
我用它来禁用红色标签:
(add-hook 'font-lock-mode-hook
(lambda()
(if (and (null (memql major-mode highlight-chars-disable))
(not prevent-highlight-symbol-mode))
(hc-highlight-tabs))))
(project-specifics "projects/some-project"
(setq prevent-highlight-symbol-mode t)
(setq indent-tabs-mode t))
但是当我打开某些项目目录中的文件,我检查prevent-highlight-symbol-mode
在任何缓冲区我有t
不是nil
,它设置为全局。我怎样才能使这个变量局部在缓冲区中?
如果你的代码可以安全地断开与Emacs的版本兼容之前的24.3,您可以用'setq-local'和'defvar-local'。 – phils
我可以运行'使变缓冲 - local'用的.emacs'nil'并与't'具体钩'使本地-variable'?所有的缓冲区都会用't'来解除那个'nil'吗? – jcubic
你通常不会混合它们。 'make-variable-buffer-local'有一个参数,一个变量。在调用时,这将确保,如果你曾经使用'setq'设置变量,它会自动成为缓冲区局部。 – Lindydancer