zsh의 vi 모드에서 Ctrl+왼쪽/오른쪽 화살표가 기호를 지우는 것을 방지하는 방법은 무엇입니까?

zsh의 vi 모드에서 Ctrl+왼쪽/오른쪽 화살표가 기호를 지우는 것을 방지하는 방법은 무엇입니까?

zsh에서 vi 모드를 사용할 때 Ctrl+화살표(왼쪽 또는 오른쪽)를 사용하여 단어(습관의 힘)로 탐색하려고 하면 기호와 전체 단어가 삭제됩니다. 이를 방지하려면 vi 모드를 어떻게 구성해야 합니까?

답변1

처음에는 찾았 bindkey -a지만 삽입 모드에서는 작동하지 않습니다. 나는 우연히 우연히 발견했다zsh 고급 바인딩 문서.

삽입 모드에서 키를 매핑하려면 를 사용해야 합니다 . 명령 모드에서 키를 매핑하려면 OR 을 bindkey -M viins사용할 수 있습니다 . 문서에 나와 있듯이 후자는 읽기가 쉽지 않습니다. 나머지는 매우 간단합니다. Ctrl+왼쪽 화살표 키는 , Ctrl+오른쪽 화살표 키는 , 좋은 매핑은 각각 및 입니다 . 결과 구성은 다음과 같습니다.bindkey -M vicmdbindkey -a'^[[1;5D''^[[1;5C'emacs-backward-wordemacs-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

관련 정보