2011-09-13 3 views
1

이맥스 CC 모드의 경우 "bsd"스타일을 사용하려고 합니다만 모든 라인이 8 대신에 4 단위로 들여 쓰기되도록 기본 설정합니다. 내 .emacs 파일, 나는 넣었다 :변경 이맥스 C 스타일이 작동하지 않습니다

(setq c-default-style "bsd" 
     c-basic-offset 4) 
(setq c-indent-level 4) 

그러나 모든 줄은 여전히 ​​8 칸을 들여 씁니다. 문제가있는 곳을 찾을 수 없습니다. GNU Emacs 23.3.1을 사용하고 있습니다.

+0

아마도 [file variables] [1]가 설정을 덮어 쓰고 있습니까? [1] : http://www.gnu.org/s/libtool/manual/emacs/File-Variables.html – phimuemue

답변

8

CC 모드 설정은 문제를 일으킬 수있는 버퍼 로컬입니다. 구성하는 가장 좋은 방법은 사용자 지정 내용을 후크에 넣는 것입니다. 이렇게하면 cc-mode가 c-basic-offset 버퍼를 로컬로 만들 었는지 여부에 관계없이 모드가 시작될 때 변경 사항이 적용됩니다. 나는 이것과 비슷한 것을 사용합니다 :

(defun my-c-mode-hook() 
    (setq c-basic-offset 4 
     c-indent-level 4 
     c-default-style "bsd")) 
(add-hook 'c-mode-common-hook 'my-c-mode-hook) 
1

그 것처럼 보입니다. .emacs 파일에서 해당 행을 실행 했습니까? 끝까지 가서 C-x C-e. 그래도 작동하지 않으면, 이맥스를 닫고 다시 시작하십시오 (강제로 .emacs 파일을 다시 읽으십시오). 그래도 작동하지 않는다면 스크래치 버퍼 나 그와 비슷한 것으로 가서 (message "%s %d %d" c-default-style c-basic-offset c-indent-level)을 실행하면 이맥스가 그 값을 어떻게 생각하는지 볼 수 있습니다 (아마도 그 값을 덮어 쓰는 다른 파일을 포함하고 있을까요?). 그런 다음 CC 파일 중 하나를로드하고 모드를 사용하여 C 유형 모드인지 확인하십시오.

관련 문제