5
让我首先说我对emacs很新。主要模式钩子配置影响其他缓冲区
我正在尝试为主要模式创建自定义。虽然我的设置正常运行,但我注意到,当我打开一个新的缓冲区时,缓冲区主模式自定义正在应用于其他类型的其他缓冲区。例如,如果我打开一个名为'Makefile'的文件,则使用makefile-mode并应用我的自定义。如果我然后打开另一个文件,如'test.c',则使用c模式,但是makefile-mode中的定制与来自c-mode的定制合并。
我的.emacs文件的相关部分可以看到下面:
(defun c-mode-settings()
(c-set-style "bsd")
(set-buffer-file-coding-system 'utf-8-unix)
(show-paren-mode 1)
(setq c-basic-offset 4)
(setq tab-width 4)
(setq indent-tabs-mode nil)
(setq c-tab-always-indent t)
(setq require-final-newline t)
)
(defun makefile-mode-settings()
(setq whitespace-style '(tabs spaces space-mark tab-mark face lines-tail))
(whitespace-mode t)
(show-paren-mode 1)
(setq tab-width 4)
(setq require-final-newline t)
)
(add-hook 'c-mode-hook 'c-mode-settings)
(add-hook 'makefile-mode-hook 'makefile-mode-settings)
我怎样才能把这些模式的钩子从影响在不同模式下的其他缓冲区?
谢谢! Andrew
看看描述有帮助有没有办法强制一个全球小模式成为本地?特别是show-paren模式,因为这是什么导致的问题 – user1902144
user1902144:请参阅[自动禁用一个特定的主要模式的全球次要模式](http://stackoverflow.com/questions/6837511/au tomatically-禁用-A-全球小调模式换一个特定的,主要模式/ 6839968) – phils