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-command
vi 명령 모드에서 사용자 정의 키 바인딩 정의를 시작하는 데 사용됩니다.
따라서 ~/.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-mode
after 로 설정 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 명령에 지정된 키맵을 적용합니다.