2009-05-13 8 views
19

나는 'tags-aproposCtrl 키 + 시프트 + R에게'isearch-backwardCtrl 키 + R을 결합하고 결합하고 싶지만 나는 두 개의 키 입력 사이에 구별 할 수 없습니다.Emacs는 ctrl-r과 ctrl-shift-r을 구별 할 수 있습니까?

이맥스는 Ctrl 키 + RCtrl 키 + 시프트 + R 구별 할 수 있습니까? 이 키 바인딩을 허용하기 위해 .emacs 파일에 무엇이 들어가야합니까?

답변

31

예를.

(global-set-key (kbd "C-r") 'isearch-backward) 
(global-set-key (kbd "C-S-r") 'tags-apropos) 

이런 종류의 질문에 대한 답변을 파악하는 방법은 관심있는 키 입력을 핵심 채널 k를에 대한 도움말을 수행하고 입력하는 것입니다. 무엇 이맥스는 도움말 버퍼에 보여줍니다 매크로 'kbd에 전달할 수있는 문자열입니다.

+5

나는 '물고기를 잡을 사람을 가르쳐'답을 좋아한다. – justinhj

2

예 - 하나는 "\C-r"이고 다른 하나는 "\C-R"입니다. 그들은 쉽게 명령을 분리 할 수 ​​있습니다. 당신의 .emacs 파일에 배치하는 경우 예를 들어,이 트릭을 수행해야합니다

(global-set-key "\C-R" 'tags-apropos) 
+2

불행히도, 작동하지 않습니다. 문자열을 global-set-key에 전달하면 모든 대문자가 소문자로 변환됩니다. 그래서 (global-set-key "\ C-R" 'tags-apropos)는 실제로 Ctrl + r이 아니라 Ctrl + Shift + r을 묶을 것입니다. 이 번역을 해결하려면 'kbd 매크로, 다른 응답 상태로 사용할 수 있습니다. –

관련 문제