在.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而不是nil的缓冲区中检查它时,它是全局设置的。如何在缓冲区中使该变量局部化?
发布于 2014-03-26 21:04:17
make-local-variable使变量在当前缓冲区中具有本地绑定。
make-variable-buffer-local使变量在所有缓冲区(甚至将来的缓冲区)中都有一个本地绑定。
如果您在当前缓冲区中执行了(make-local-variable 'A-VAR)操作,那么(setq A-VAR A-VALUE)将设置本地值。您也可以使用(set (make-local-variable 'A-VAR) A-VALUE)来完成它。
https://stackoverflow.com/questions/22672854
复制相似问题