zsh에서 vi 모드를 사용할 때 Ctrl+화살표(왼쪽 또는 오른쪽)를 사용하여 단어(습관의 힘)로 탐색하려고 하면 기호와 전체 단어가 삭제됩니다. 이를 방지하려면 vi 모드를 어떻게 구성해야 합니까?
답변1
처음에는 찾았 bindkey -a
지만 삽입 모드에서는 작동하지 않습니다. 나는 우연히 우연히 발견했다zsh 고급 바인딩 문서.
삽입 모드에서 키를 매핑하려면 를 사용해야 합니다 . 명령 모드에서 키를 매핑하려면 OR 을 bindkey -M viins
사용할 수 있습니다 . 문서에 나와 있듯이 후자는 읽기가 쉽지 않습니다. 나머지는 매우 간단합니다. Ctrl+왼쪽 화살표 키는 , Ctrl+오른쪽 화살표 키는 , 좋은 매핑은 각각 및 입니다 . 결과 구성은 다음과 같습니다.bindkey -M vicmd
bindkey -a
'^[[1;5D'
'^[[1;5C'
emacs-backward-word
emacs-forward-word
# vi mode
bindkey -v
bindkey -M vicmd '^[[1;5C' emacs-forward-word
bindkey -M vicmd '^[[1;5D' emacs-backward-word
bindkey -M viins '^[[1;5C' emacs-forward-word
bindkey -M viins '^[[1;5D' emacs-backward-word