Emacs의 "define-key global-map"과 "global-set-key"의 차이점

Emacs의 "define-key global-map"과 "global-set-key"의 차이점

사람들이 Emacs에서 키보드 단축키를 작성하는 방식을 관찰하면서 나는 두 가지 뚜렷한 패턴을 발견했습니다.

한 가지 용도:

(global-set-key (kbd "M-N) 'select-next-window)

또 다른:

(define-key global-map (kbd "M-N") 'select-next-window)

그들 사이의 차이점은 무엇입니까? Emacs에는 모두 "전역" 키보드 단축키가 정의되어 있지 않습니까?

답변1

주요 경우에는 큰 차이가 없는 것 같습니다.

  • (global-set-key key command)그것은 (define-key (current-global-map) key command)), 그리고
  • describe-varglobal-map"키맵은 일반적으로(반드시 그런 것은 아니지만) Emacs의 글로벌 맵입니다"라고 말합니다 .
  • (current-global-map)"현재 전역 키맵을 반환합니다."

하지만,이맥스 문서"" 전역 키맵에 대해 이야기하면 여러 전역 키맵이 어떻게 나타나는지 명확하지 않습니다.

관련 정보