답변:
모드 별 맵에서 다음과 같은 키를 정의 할 수 있습니다.
(add-hook 'coffee-mode-hook
(lambda ()
(define-key coffee-mode-map (kbd "C-c c") 'coffee-compile-file)))
또는 더 깨끗하게 :
(eval-after-load "coffee-mode"
'(define-key coffee-mode-map (kbd "C-c c") 'coffee-compile-file))
두 번째 명령문은 키 정의가 한 번만 발생하는 반면, 첫 번째 명령문 coffee-mode
은 활성화 될 때마다 (오버 킬) 정의가 발생합니다 .
eval-after-load
이 경우에 문장 을 사용하는 것만 큼 깨끗하지 않습니다 . 답변을 적절히 업데이트하겠습니다.
Emacs 24.4는 다음으로 대체 eval-after-load
되었습니다 with-eval-after-load
.
** New macro `with-eval-after-load'.
This is like the old `eval-after-load', but better behaved.
답은
(with-eval-after-load 'coffee-mode
(define-key coffee-mode-map (kbd "C-c C-c") 'coffee-compile-file)
(define-key erlang-mode-map (kbd "C-c C-m") 'coffee-make-coffee)
;; Add other coffee commands
)
(add-hook 'coffee-mode-hook (lambda () (define-key coffee-mode-map (kbd "C-c c") 'coffee-compile-file)))