Bash-Tab-Autovervollständigungsfunktion

Bash-Tab-Autovervollständigungsfunktion

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 ~/.inputrcDatei 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 readlineunter oder auf derWebsite der GNU Readline Library.

verwandte Informationen