나는 이맥스에 매우 익숙하다는 말로 시작하겠습니다.메이저 모드 후크 구성이 다른 버퍼에 영향을 미침
메이저 모드에 대한 사용자 지정을 만들려고합니다. 내 설정이 올바르게 작동하는 동안 새로운 버퍼를 열면 버퍼가 메이저 모드 사용자 정의가 다른 유형의 다른 버퍼에 적용되는 것을 관찰하고 있습니다.
예를 들어, 'Makefile'이라는 파일을 열면 makefile-mode가 사용되며 사용자 정의가 적용됩니다. 그런 다음 'test.c'와 같은 다른 파일을 열면 c-mode가 사용되지만 makefile-mode의 사용자 정의가 c-mode의 사용자 정의와 병합됩니다.
내 이맥스 파일의 관련 부분
아래 볼 수 있습니다 :(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-mode가 문제의 원인이되므로 – user1902144
user1902144 : [자동으로 사용 안 함 특정 주요 모드에 대한 글로벌 마이너 모드] (http://stackoverflow.com/questions/6837511/au) 전역 적으로 사용 불능 - 글로벌 - 마이너 - 모드 - 특정 - 메이저 - 모드/6839968) – phils