Qt는 Emacs 스타일의 키 바인딩을 지원 하지만 최대 4 개의 키만 지원합니다. 이 제한을 늘려야하는 이유를 밝히려면 그보다 더 많은 키를 가진 Emacs 스타일 키 바인딩의 예를 보여주는 것이 좋습니다. 이에 대한 알려진 예가 있거나 Emacs 키맵에 정의 된 긴 키 시퀀스를 프로그래밍 방식으로 찾을 수있는 방법이 있습니까?
편집 : 나는 이것이 일반적인 지식이라고 생각했지만 키 시퀀스는에서 읽은 키 집합입니다 read-key-sequence
. F1 k
응시자를 시험 해보고 그 명령이 명령인지 또는 관련이없는 명령인지 설명하십시오.
답변
다음 스크립트로 테스트했습니다.
(key-description
(car
(sort
(let (keyseqs)
(mapatoms
(lambda (sym)
(when (commandp sym)
(let ((where (where-is-internal sym nil nil t)))
(when where
(setq keyseqs (append keyseqs where)))))))
keyseqs)
(lambda (a b) (< (length b) (length a))))))
그리고 내가 함께 얻을 가장 긴 .emacs.d
IS C-x c C-x r i
일부 조타 명령, 그리고있는 emacs -q
나는 얻을 C-x a i l
명령을 실행하는 inverse-add-mode-abbrev
.
답변
어딘가에 가장 긴 것이 무엇인지 대답 할 수는 없지만 여기에 도움이 될만한 정보가 있습니다.
-
접두사 키에 바인딩하는 키 맵의 키에 바인딩 된 관련 명령 세트를 제공하는 라이브러리가 있습니다.
사용자 키 등을 공동 선택하고 싶지 않기 때문에 일반적으로 이러한 접두사 키 를 (keymap ) 아래
C-x
또는other-window
명령에 바인딩 합니다 .C-x 4
ctl-x-4-map
-
이러한 키맵의 명령 그룹에도 동일한 고려 사항이 적용됩니다. 때때로 자체 키맵을 얻습니다. 그리고 재귀 적으로.
-
적어도 일부 사용자는 그러한 키맵을 모든 레벨에서 자신의 짧은 접두사 키로 리 바인드하거나 특정 명령을 짧은 키 시퀀스에 바인딩하려고 할 수 있습니다. 그러나 나는 분명히 도서관 자체에서 그것을하고 싶지 않습니다.
Bookmark +의C-x 4 j t . % *
명령 icicle-bookmark-file-this-dir-all-tags-regexp-other-window
에 바인딩 된 상당히 긴 키 하나 (예 : 7 키 누름) 의 예입니다 .
해부:
-
온
C-x 4
접두사 키 (ctl-x-4-map
). -
온
j
에 대한 모든 명령을위한 접두사 키, 책갈피로 점프 . -
온
t
된다 북마크 점프에 대한 모든 명령을위한 접두사 키, 태그가 어떤 식 으로든. -
온
.
에서 파일입니다 즐겨 찾기에 점프에 대한 모든 명령을위한 접두사 키, 현재 디렉토리 하는 태그가 어떤 식 으로든. -
온
%
의 것들에 대한 있습니다 즐겨 찾기에 점프에 대한 모든 명령을위한 접두사 키, 현재 디렉토리 가 태그 regexp와 일치 당신이하라는 메시지가 표시됩니다. -
온
*
의 것들에 대한 있습니다 즐겨 찾기에 점프에 대한 모든 명령을위한 키, 현재 디렉토리 가 태그 , ALL 있는 regexp와 일치 당신이하라는 메시지가 표시됩니다. 반대로 대조적으로 일부 태그는 정규 표현식과 일치하는C-x 4 j t . % +
책갈피에 사용 됩니다.
그 모두는 기존의 북마크 +에서 (그리고 그것의 일부는 BTW, Dired 규칙에 해당) j
을위한 점프 명령 t
을위한 태그 , .
위한 현재 디렉토리 , %
위한 정규 표현식 , 그리고 *
위한 모든 ( +
입니다 일부 ).
(아, 그리고 mkcms의 sexp @ 사용하여, 나는 수 C-x 4 j t f % *
(가). 똑같이 오래 인 f
의미 파일 그것은 같아요. C-x 4 j t . % *
하지만 완성을위한 후보 북마크 만이 아닌 현재 디렉토리 (에있는 파일에 대한 모든 파일 책갈피이다 .
).)
답변
Magit
옵션을 토글 할 수 있도록 긴 시퀀스를 추가합니다. 예를 들어 로그를 요청할 때 원격 브랜치를 원하거나 원치 않는 지점을 그래픽으로 표시하려는 경우 짧거나 긴 옵션을 선택할 수 있습니다. 로그에 대한 기본 요청은 magit-status
버퍼 에서 몇 번의 키 입력 이지만 더 많은 것을 추가 할 수 있습니다.
커밋, 기본 커밋을위한 두 번의 키 입력, 많은 추가 옵션이 적용됩니다.
따라서 질문이 명시되어 있습니다. 이맥을 고려하고 stock
있습니까?