의 아이디어가 마음에 듭니다 .dir-locals.el
. .dir-locals.el
홈 디렉토리에 파일이 열려 .dir-locals.el
있는 디렉토리에 더 가까이 있지 않으면 열려있는 디렉토리 / 파일에 대한 모든 변수를 설정해야하는 자체 파일 이 있습니다. 그러나 파일을 인식하더라도 하위 디렉토리의 디렉토리 변수는 그렇지 않습니다. 열린 파일에 적용됩니다.
이것은 내 ~/.dir-locals.el
:
(("dev/school" .
((indent-tabs-mode . nil)
(c-basic-offset . 4)))
("dev/test" .
((indent-tabs-mode . nil)
(c-basic-offset . 4)))
(c-mode .
((c-file-style . "linux")
(c-basic-offset . 8))))
파일을 열면 ~/dev/test/test.c
변수 indent-tabs-mode
가 t
및 c-basic-offset
로 설정됩니다 8
.
(describe-variable 'c-basic-offset)
이 파일 8
에서 from 로 설정되어 있다고 알려줍니다 ~/.dir-locals.el
.
(describe-variable 'indent-tabs-mode)
그 파일에서 그 값 ( t
)은 기본 상태에 있다고 말합니다 .
어떻게 든 원하는 행동을 할 수 있습니까? 내가 무엇을 잘못하고 있지? 파일 경로는 하위 디렉토리에 ~/.dir-locals.el
어떻게 매핑 됩니까?
편집하다:
Jonathan이 제안한 대로 시도했습니다.
(;; dev/school subdir
("dev/school" .
;; dev/school specification for all modes
(nil . ((indent-tabs-mode . nil)
(c-basic-offset . 4)))))
그리고 심지어 add-dir-local-variable
추가 한 것 :
(("dev/school"
(indent-tabs-mode)
(c-basic-offset . 4)))
불행히도, 그들 중 어느 것도 작동하지 않습니다.