Conclusão Zsh, ativando shift-tab

13

Quando o zsh mostra um menu de possíveis conclusões, gostaria que me permitisse shift-tabacessar as entradas de conclusão anteriores - existe uma opção que controla qual chave é usada para acessar as entradas de conclusão anteriores?

E se sim, o que eu precisaria adicionar ao meu ~/.zshrc arquivo para configurá-lo.

Se isso faz alguma diferença, atualmente eu posso navegar por um menu de conclusão usando as teclas de seta, mas não gosto de fazer isso, pois as teclas de seta parecem deslocadas e difíceis de usar.

Alexej Magura
fonte

Respostas:

13

você deseja vincular o comando do editor reverse-menu-completeao menuselectmapa de teclas.

bindkey -M menuselect '^[[Z' reverse-menu-complete

Não tenho certeza de quão portátil é a sequência de escape ^[[Z, portanto, convém verificar o terminfo (5) para ver se existe uma maneira de usar a $terminfomatriz para vinculá-la corretamente.

Observe que o menuselectmapa de teclas está disponível após o carregamento do zsh/complistmódulo. Se você configurou o sistema de conclusão compinstall, esse módulo geralmente é carregado automaticamente na primeira vez em que você conclui algo. Para poder adicionar essa ligação ao seu ~/.zshrc, você precisa carregar o módulo manualmente primeiro com:

zmodload zsh/complist
llua
fonte
^[[Ztambém está shift-tabno meu computador, portanto não se preocupe em não ser portátil; obrigado. :)
Alexej Magura
1
Eu recebo o seguinte erro quando invoco zshdepois de adicionar a bindkeylinha para o meu ~/.zshrcarquivo: ~/.zshrc:bindkey:190: no such keymap `menuselect'
Alexej Magura
2
Isso seria "${terminfo[kcbt]}".
Thomas Dickey