2014-11-16 1 views
0

나는이 url에 의해 영감을 받았습니다.Emacs : 자바 모드에 국한된 키를 설정하십시오.

글로벌 키 (global-set-key (kbd "RET") 'newline-and-indent)을 설정하는 것이 좋습니다.

그러나 RET에서 'newline-and-indent까지만 Java 모드로 설정하고 싶습니다. 이를 달성하기 위해 어떤 코드를 init.el에 추가해야합니까?

답변

2

모드 별 키맵에 적용해야합니다. 아래와 같은 것이 효과가 있습니다.

(defun on-java-loaded() 
    (define-key java-mode-map (kbd "RET") 'newline-and-indent)) 

(add-hook 'java-mode-hook 'on-java-loaded) 
+0

그래도 작동하지만 이름이 잘못되었습니다. 'java-mode-hook'은 모든 버퍼가'java-mode'를 실행할 때마다 실행됩니다. 반면 라이브러리 자체는 한번만로드됩니다. 'eval-after-load'는 라이브러리가로드 된 후에 한 번 실행하는 방법입니다. 후크 접근법은 절대적으로 좋지만 함수를 좀 더 적절하게 호출하는 것이 좋습니다. (FWIW는 사용자 정의'MODE-hook' 함수에'my-MODE-hook '을 사용합니다). – phils

관련 문제