zsh의 탭 완성 메뉴를 탐색하기 위해 vi와 유사한 hjkl 키를 사용할 수 있습니까?

zsh의 탭 완성 메뉴를 탐색하기 위해 vi와 유사한 hjkl 키를 사용할 수 있습니까?

저는 zsh의 메뉴 기반 탭 완성 기능을 사용합니다. 한 번 누르면 Tab가능한 완료 목록이 나타납니다. 다시 누르면 Tab화살표 키를 사용하여 이 목록을 탐색할 수 있습니다. 하지만 , , vi와 같은 키를 사용하여 탐색할 수 있습니까 ?HJKL

나는 명령줄 입력을 위해 emacs 모드를 사용하고 bindkey -ein ~/.zshrc도 사용합니다.zsh와 함께. 해당되는 경우 탭 완성 시스템을 지정하는 명령은 다음과 같습니다.여기.

답변1

예, 다음 방법으로 활성화할 수 있습니다 menu select.

zstyle ':completion:*' menu select
zmodload zsh/complist
...
# use the vi navigation keys in menu completion
bindkey -M menuselect 'h' vi-backward-char
bindkey -M menuselect 'k' vi-up-line-or-history
bindkey -M menuselect 'l' vi-forward-char
bindkey -M menuselect 'j' vi-down-line-or-history

답변2

내가 본 가장 가까운 방법은 가능한 완성 목록에서 앞뒤로 이동하기 위해 and - 대신 - CTRLand - N를 사용 하는 것입니다 . 이것CTRLPTabShiftTab내비게이션 에 더 가깝습니다 vi.

구성 파일에서 다음 .zsh을 통해 이를 달성합니다.

bindkey '^n' expand-or-complete
bindkey '^p' reverse-menu-complete

관련 내용:

bindkey '^k' up-history
bindkey '^j' down-history
bindkey '^h' backward-delete-char
bindkey '^w' backward-kill-word
bindkey '^r' history-incremental-search-backward

다음 문서입니다제본.

관련 정보