"키맵 vi 설정"은 실제로 무엇을 합니까?

"키맵 vi 설정"은 실제로 무엇을 합니까?

vim 테마 Readline을 작업하는 동안 두 가지 테마가 있다는 것을 알았습니다.

set editing-mode vi
set keymap vi

editing-mode vi텍스트 편집, 삽입 등을 위해 다양한 VIM 키맵을 제공한다는 것이 무엇을 의미하는지 이해하고 있다고 생각합니다.

do set keymap vi는 무엇과 병치되어 있습니까 set editing-mode vi? 이를 통해 어떤 추가 혜택을 얻을 수 있나요?


정말 나쁘고 지나치게 복잡한 답변이 많이 있습니다. 나는 문서화되지 않았지만 문서화 된 명령과 동일한 명령, 내 기본값이 무엇인지 (어떤 식 으로든) emacs에 대해 신경 쓰지 않습니다 (분명히 변경하려고합니다).

답변1

이는 및 의 별칭과 동일하며 set keymap vi-commandvi 명령 모드에서 사용자 정의 키 바인딩 정의를 시작하는 데 사용됩니다.

따라서 ~/.inputrc다음과 같이 사용할 수 있습니다.

set keymap vi-command
# or set keymap vi (or, for that matter: set keymap vi-move)
# these are for vi-command mode
"\e[A": history-search-backward
"\e[B": history-search-forward

다른 유효한 옵션( editing-modeafter 로 설정 vi)은 keymap vi-insert나머지 모달 제품에 적용됩니다.

답변2

"키맵 vi 설정"은 실제로 무엇을 합니까?

지정된 키 맵에만 적용되는 키 정의 목록의 시작 지점을 표시합니다.

키 맵 이름은 다음과 같습니다.

유효한 키맵 이름 세트는 emacs, emacs-standard, emacs-meta, emacs-ctlx, vi, vi-move, vi-command 및 vi-insert입니다. vi는 vi 명령과 동일합니다. emacs는 emacs-standard와 동일합니다.

vi, vi-move 및 vi-command 모드는 동일한 이름으로 나타납니다.

.inputrc따라서 파일에 키맵이 나타날 때부터 다른 키맵을 활성화할 때까지(또는 모드(vi 및 emacs)를 변경할 때까지) 키 세트는 start keymap 명령에 지정된 키맵을 적용합니다.

관련 정보