Zsh-Vervollständigung, Shift-Tab aktivieren

13

Wenn zsh Ihnen ein Menü mit möglichen Vervollständigungen anzeigt, möchte ich, dass ich shift-tabauf vorherige Vervollständigungseinträge zugreifen kann. Gibt es eine Option, die steuert, mit welcher Taste auf vorherige Vervollständigungseinträge zugegriffen wird?

Und wenn ja, was muss ich meiner ~/.zshrc Datei hinzufügen, um sie einzurichten?

Wenn es einen Unterschied macht, kann ich momentan mit den Pfeiltasten durch ein Abschlussmenü navigieren, aber ich mag dies nicht, da sich die Pfeiltasten unpassend und umständlich anfühlen.

Alexej Magura
quelle

Antworten:

13

Sie möchten den Editor-Befehl reverse-menu-completean die menuselectTastaturbelegung binden .

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

Ich bin mir nicht sicher, wie portabel die Escape-Sequenz ^[[Zist. Überprüfen Sie daher möglicherweise terminfo (5), um festzustellen, ob es eine Möglichkeit gibt, das $terminfoArray zum korrekten Binden zu verwenden.

Beachten Sie, dass die menuselectKeymap verfügbar ist, nachdem Sie das zsh/complistModul geladen haben . Wenn Sie das Vervollständigungssystem mit konfiguriert haben compinstall, wird dieses Modul im Allgemeinen automatisch geladen, wenn Sie etwas zum ersten Mal vervollständigen. Um diese Bindung zu Ihrer hinzufügen zu können ~/.zshrc, müssen Sie das Modul dort zuerst manuell laden mit:

zmodload zsh/complist
llua
quelle
^[[Zist auch shift-tabauf meinem Computer, also keine Sorge, dass es nicht portabel ist; Danke. :)
Alexej Magura
1
Ich erhalte die folgende Fehlermeldung, wenn ich zshnach dem Hinzufügen der bindkeyZeile zu meiner ~/.zshrcDatei ~/.zshrc:bindkey:190: no such keymap `menuselect'
aufrufe
2
Das wäre "${terminfo[kcbt]}".
Thomas Dickey