
나는 org-mode를 사용하고 있으며 기본적으로 C-c C-x C-z
바인딩된 의 로컬 바인딩을 재정의하고 싶습니다 . org-resolve-clocks
그만큼수동라고
로컬 키맵에 설명된 대로 메이저 모드와 마이너 모드는 로컬 키맵을 정의할 수 있습니다. ... 이러한 키맵 중 하나를 변경하려면 모드 후크를 사용해야 합니다(후크 참조).
그래서 내에는 다음 줄이 있습니다 ~/.emacs
.
(global-set-key (kbd "C-c C-x C-SPC") 'my-function)
(global-set-key (kbd "C-c C-x C-z") 'my-function)
(add-hook 'org-mode-hook
(lambda ()
(local-set-key (kbd "C-c C-x C-z") 'my-function)))
첫 번째 줄은 바인딩되지 않은 키를 함수에 바인딩합니다. 두 번째 줄은 조직 모드에서 이미 바인딩된 키를 함수에 바인딩합니다. 나머지 줄은 후크를 정의합니다.
Emacs를 새로 시작하고 키를 설명합니다. 조직 버퍼의 기본값 과 다른 곳에 C-c C-x C-SPC
바인딩 my-function
되고 바인딩됩니다 . 다음을 사용하여 조직 버퍼에서 바인딩 코드를 대화형으로 실행하는 경우 :C-c C-x C-z
org-resolve-clocks
my-function
M-:
(local-set-key (kbd "C-c C-x C-z") 'my-function)
그러면 키는 my-function
기본값이 아닌 바인딩됩니다.
나는 또한 다른 답변을 시도했습니다emacs에서 주요 모드 특정 키 바인딩 설정에 대한 이 스레드그리고 그것은 실패했습니다:
(with-eval-after-load 'org-mode
'(define-key org-mode-map (kbd "C-c C-x C-SPC") 'my-function)
)
저는 Emacs 25.3(9.0)을 실행하고 있습니다.
주요 모드에서 세트의 바인딩을 어떻게 재정의할 수 있나요?
답변1
다음을 사용하여 조직 모드에서 함수를 바인딩할 수 있습니다 define-key
.
(define-key org-mode-map (kbd "C-c C-x C-z") 'my-function)
모든 전역 바인딩을 재정의하고 조직 모드 버퍼에서만 작동합니다.