Ich hätte gern eine Bash-Autovervollständigungsfunktion, die alle Möglichkeiten durchgeht, wie in zsh, und gleichzeitig die übliche Operation ausführt, also alle Möglichkeiten ausgibt, vorausgesetzt, es gibt nicht zu viele, und andernfalls vor dem Drucken bestätigt.
Diese beiden sollten sich nicht gegenseitig ausschließen. Ich weiß, wie man die Möglichkeiten durchläuft (Bindung „TAB:menu-complete“), aber die erste Funktion geht dabei verloren.
Außerdem habe ich mich gefragt, ob es möglich ist, rückwärts zu gehen (etwa mit Umschalt+Tab, wie in vielen anderen Programmen), weil es wirklich nervig ist, die ganze Schleife noch einmal durchführen zu müssen.
Antwort1
Um diese Funktionalität zu erhalten, müssen Sie die folgenden Zeilen in die ~/.inputrc
Datei schreiben:
# cycle forward
Control-k: menu-complete
# cycle backward
Control-j: menu-complete-backward
Auf diese Weise behalten Sie das aktuelle Tab-Verhalten bei. Es gibt auch eine weitere Konfigurationsoption, die Sie möglicherweise hinzufügen möchten:
# display one column with matches
set completion-display-width 1
Dadurch werden die Möglichkeiten in einer Spalte angezeigt, also statt:
file1 file2 file3 file4...
oder
file1 file3 ...
file2 file4
du erhältst:
file1
file2
file3
file4
...
für meinen Geschmack viel angenehmer für die Augen.
Weitere Informationen finden Sie man readline
unter oder auf derWebsite der GNU Readline Library.