emacs 명령 이름을 알고 있으면 “goto-line”이라고 말합니다. 이 명령에 바인딩 된 키 시퀀스가 있는지 여부를 쿼리하려면 어떻게해야합니까?
그 반대로 키 시퀀스가 주어지면 명령 이름을 어떻게 찾을 수 있습니까?
답변
명령에 대한 키 바인딩을 찾으려면 emacs 도움말의 “where-is”기능을 사용할 수 있습니다.
C-h w command-name
명령에 대해 여러 바인딩이 설정된 경우 모두 나열됩니다.
반대의 경우 키 시퀀스가 주어지면 다음을 입력 할 수 있습니다.
C-h k key-sequence
실행할 명령을 얻으려면.
다음을 입력하여 명령에 대한 자세한 정보와 정의 된 비대화 형 기능을 얻을 수 있습니다.
C-h f function-name
키 바인딩을 포함하여 함수에 대한 자세한 정보를 제공합니다.
C-h v variable-name
(바운드) 변수에 대한 정보를 제공합니다. 키 맵은 변수에 보관되지만 키 코드는 원시 형식으로 저장됩니다. 시험C-h v isearch-mode-map
예를 들어 .
도움 받기에 대한 추가 도움말을 보려면 다음을 입력하십시오.
C-h ?
답변
C-h w
(또는 F1-w
) : where-is
RET somecommandname RET
요청한대로 수행-추가 정보없이 바인딩 된 키를 나열합니다. 🙂
답변
키보드 단축키 (또는 Emacs 용어로 키 시퀀스)에 연결된 명령을 대화식으로 가져 오려면 선택한 답변을 참조하십시오.
주어진 키 시퀀스에 바인딩 된 명령을 프로그래밍 방식으로 가져 오려면 key-binding
또는 키 시퀀스를 사용하여 lookup-key
바인딩 된 명령을 반환하는 함수를 사용하십시오 . 기능 key-binding
은 C-h k
사용하는 것입니다.
(key-binding (kbd "C-h m"))
C-h m
모든 현재 키맵에서 검색하여 바인딩 된 명령을 반환합니다 . 이 함수 lookup-key
는 단일 키맵에서 검색합니다.
(lookup-key (current-global-map) (kbd "TAB")) ; => indent-for-tab-command
(lookup-key org-mode-map (kbd "TAB")) ; => org-cycle
(lookup-key text-mode-map (kbd "TAB")) ; => nil
(lookup-key isearch-mode-map (kbd "TAB")) ; => isearch-printing-char
프로그래밍 방식으로 주어진 명령에 바인딩 된 모든 키 시퀀스를 얻으려면 where-is-internal
아마도 사용할 함수일 것입니다. 로 끝나는 함수의 이름은 internal
Emacs 사용자가 init 파일에서 사용하는 것이 아니라 독 스트링이있는이 함수가 그렇지 않다는 것을 암시하는 것 같습니다. 사용을 고려중인 사람 where-is-internal
은 먼저 키 를 다시 매핑 하여 목표를 달성 할 수 있는지 먼저 확인해야합니다 .
특정 명령 (예 :)에 바인딩 된 키를 찾기위한 대안 forward-char
은 substitute-command-keys
(예 🙂 (substitute-command-keys "\\[forward-char]")
입니다. 이는 특히 큰 텍스트에서 유용합니다.
답변
오래된 질문이지만 새로운 독자를 위해 키 바인딩을 보는 다른 좋은 방법이 있습니다.
M-x describe-bindings
현재 사용 가능한 모든 바인딩, isearch 사용, 발생 등을 나열하여이 목록을 잘 활용합니다.
M-x describe-prefix-map
이것은 현재 모드에서 사용 가능한 모든 바인딩을 보여줍니다. 다른 읽기 전용 Emacs 버퍼와 마찬가지로 디스플레이 버퍼를 사용할 수 있습니다. 예를 들어 문자열 등을 자유롭게 검색 할 수 있습니다.
M-x describe-mode
현재 모드에 대한 일반적인 정보를 제공 할뿐만 아니라 사용 가능한 모든 키 바인딩도 나열합니다.
M-x describe-minor-mode
부 모드의 이름을 입력하라는 메시지가 표시되고 해당 부 모드에 대한 정보 및 키 바인딩이 표시됩니다.
참고 : 아래 예제는 추가 패키지를 사용합니다 ( MELPA ).
어느 키
이것은 당신이 그들을 필요로하기 직전에 바인딩을 보여줍니다. 예를 들어 접두사를 입력 C-x
하거나C-c
해당 접두사에서 사용 가능한 바인딩 목록이 표시됩니다.
다음을 사용하여 현재 모드에서 사용 가능한 키 바인딩 목록을 볼 수도 있습니다.
M-x which-key-show-top-level
바인딩하는 것이 유용합니다 which-key-show-top-level
선택한 키 코드에 하는 하므로 어디서나 사용 가능한 키를 볼 수 있습니다.
예를 들어, C-s
( isearch-forward
)에는 종종 알려지지 않은 광범위한 키 맵이 있습니다. 예를 들어 현재 검색 문자열을 사용하기 M-s o
시작 occur
했지만 Emacs를 사용하면서 수년간 이것에 대해 몰랐습니다. which-key
주변 을 둘러 보면서 Emacs에서 희귀 한 보석을 많이 발견 할 수있었습니다.
https://github.com/justbur/emacs-which-key
가이드 키
가이드 키는 다음과 같은 방식으로 작동합니다. which-key
기능을 비교하기 위해 살펴볼 것을 권장 합니다.