Utilizo la finalización de pestañas basada en menús de zsh. Presiono Tabuna vez y aparece una lista de posibles finalizaciones. Si presiono Tabnuevamente, puedo navegar por esta lista con las teclas de flecha. Sin embargo, ¿es posible navegar por ellos con las teclas vi
-like H, J,, en su lugar?KL
Utilizo el modo emacs para la entrada de línea de comandos, con bindkey -e
in ~/.zshrc
. yo también usozimcon zsh. Si es relevante, los comandos que especifican el sistema de finalización de tabulaciones sonaquí.
Respuesta1
Sí, puedes hacerlo habilitando 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
Respuesta2
Lo más cerca que he estado de esto es usar CTRL- Ny CTRL- Ppara avanzar y retroceder a través de la lista de posibles finalizaciones, en lugar de Taby Shift- Tab. Esteesmás vi
parecido a la navegación.
En un .zsh
archivo de configuración logro esto con:
bindkey '^n' expand-or-complete
bindkey '^p' reverse-menu-complete
Y relacionado:
bindkey '^k' up-history
bindkey '^j' down-history
bindkey '^h' backward-delete-char
bindkey '^w' backward-kill-word
bindkey '^r' history-incremental-search-backward
Aquí están los documentos para elfijaciones.