Completamento Zsh, abilitando shift-tab


13

Quando zsh ti mostra un menu di possibili completamenti, mi piacerebbe che mi permettesse di utilizzare shift-tabper accedere alle voci di completamento precedenti - esiste un'opzione che controlla quale chiave viene utilizzata per accedere alle voci di completamento precedenti?

E se è così, cosa dovrei aggiungere al mio ~/.zshrc file per configurarlo.

Se fa la differenza, attualmente posso navigare attraverso un menu di completamento usando i tasti freccia, ma non mi piace farlo poiché i tasti freccia sembrano fuori posto e scomodi da usare.

Risposte:


13

vuoi associare il comando editor reverse-menu-completealla menuselectkeymap.

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

Non sono sicuro di quanto sia portatile la sequenza di escape ^[[Z, quindi potresti voler controllare terminfo (5) per vedere se c'è un modo di usare l' $terminfoarray per legarlo correttamente.

Si noti che la menuselectmappa dei tasti è disponibile dopo aver caricato il zsh/complistmodulo. Se hai configurato il sistema di completamento con compinstall, quel modulo viene generalmente caricato automaticamente la prima volta che completi qualcosa. Per poter aggiungere quell'associazione al tuo ~/.zshrc, devi prima caricare il modulo manualmente lì con:

zmodload zsh/complist

^[[Zè anche shift-tabsul mio computer, quindi non preoccuparti che non sia portatile; grazie. :)
Alexej Magura,

1
Ottengo il seguente errore quando invoco zshdopo aver aggiunto la bindkeyriga al mio ~/.zshrcfile: ~/.zshrc:bindkey:190: no such keymap `menuselect'
Alexej Magura

2
Quello sarebbe "${terminfo[kcbt]}".
Thomas Dickey,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.