Emacs에서는 Ctrl-=를 사용자 정의 함수에 바인딩합니다.
이상한 점은 터미널에서 Emacs를 실행할 때 Ctrl-=를 누르면 등호만 입력하고 이 사용자 정의 기능은 실행되지 않는다는 것입니다. GUI 창에서는 모든 것이 예상대로 작동합니다.
다른 터미널 프로그램을 사용해 보았지만 별 차이가 없는 것 같습니다.
Emacs가 Ctrl-=를 허용하지 않는 이유는 무엇일까요?
내 키보드에서 Ctrl-=는 실제로 Ctrl-Shift-0입니다.
내 시스템은 Kubuntu 22.04입니다.
고쳐 쓰다:
누군가 이 질문을 했기 때문에 터미널(Konsole에서는 emacs가 -nw 옵션으로 시작함)에서 작동하지 않는 정의는 다음과 같습니다.
(global-set-key (kbd "C-M-<") 'indent-region)
(global-set-key (kbd "C-=") 'xxxx)
이는 터미널에서 Emacs를 실행하는 데 따른 제한 사항인 것 같습니다.
여기(https://www.gnu.org/software/emacs/manual/html_node/elisp/Other-Char-Bits.html) 내용은 다음과 같습니다.
2.4.3.5 기타 문자 수정 비트
(...) ASCII는 제어 문자가 대문자인지 소문자인지를 나타낼 수 없습니다. Emacs는 비트 2**25를 사용하여 제어 문자를 입력할 때 Shift 키가 사용되었음을 나타냅니다. 이 차이 X의 GUI 디스플레이와 같은 그래픽 디스플레이에서만 사용할 수 있으며 차이점을 보고하지 않습니다..
내가 아는 한 이는 Alt, "super" 및 "hyper"와 같은 다른 수정자 키로 확장되며 이를 "Windows" 키로 설정했습니다.