답변:
정확히 무엇을 요구하는지 잘 모르겠습니다. 그러나 C-h k
키를 누르면 정확히 어떤 문자열을 전달해야하는지 보여줍니다 kbd
. 예를 들어을 C-h k f6
보여줍니다 <f6>
.
다음은 원하는 것을 수행하는 명령입니다. 결과를 C-c c
다음에 바인딩합니다 .
(defun foo (key)
(interactive "kKey: ")
(insert (format "(kbd %S)" (key-description key))))
(global-set-key (kbd "C-c c") 'foo)
그런 다음 다음을 입력하십시오.
(local-set-key C-c c
키를 사용하라는 메시지가 표시됩니다. 당신이 명중하면 F6키를 당신이 얻을 :
(local-set-key (kbd "<f6>")
[@HaraldHancheOlsen에 의해 제안에 따라 업데이트 : 변경 "(kbd \"%s\")"
에".](kbd %S)"
kill-ring
포함됩니다. 당신은 key-description
문자열 을 의미 합니까? 또는 위의 format
sexp 의 반환 값 ? 어쨌든, 내가 준 명령을 수정하는 방법을 분명히해야합니다 kill-ring
(그냥 사용하십시오 kill-new
).
kbd <M-return>
하지만 init 파일에 삽입하지는 않습니다. (추가 복사 / 붙여 넣기 단계를 수행해야합니다.) 어쩌면 오해했을 수도 있습니다. 내 자신의 개인 사용의 경우, 나는 (예를 들어,이 구문은 유용한 키 바인딩의 구문을 조회 할 수있는 방법을 찾을 것 M-RET
또는 M-<return>
그래서 내가 다음 수, 킬 링 / 판지에 해당 문자열을 배치 자동으로? 또는 무엇) 및 같은 줄을 쓸 때 키 바인딩을 init 파일에 붙여 넣으십시오 (define-key map (kbd "<M-return>") 'org-return)
.
kbd
에서 global-set-key
수정 하는 것을 잊었습니다 . 지금 수정하십시오.) sexp가 바인딩 foo
되는 Command 는 키 시퀀스를 읽은 다음 현재 버퍼 지점에 삽입합니다. 그것에 대한 적절한 sexp. 당신이 사용하는 경우 당신의 init 파일에서, 후 , 다음은 삽입 당신이 읽는 키에 필요한 sexp을. global-set-key
C-c c
kbd
C-c c
(local-set-key
kbd
M-x local-set-key
키 바인딩을 대화식으로 수행 하는 데 사용 하는 경우 C-x ESC ESC
( repeat-complex-command
)를 사용 하여 구성에 붙여 넣을 수있는 Lisp 표현식을 얻을 수 있습니다. 그러나 친숙한 (kbd ...)
스타일의 설명을 사용하지 않을 것입니다 .
define-key
실제로 사용하는 경향이 있습니다 . 키를 정의하는 함수를 호출하는 후크를 설정하는 것보다 키를 바로 정의하는 것이 더 간단한 것 같습니다.
key-description
기능 은 기능 이 누락되었습니다 .