Ist es möglich, Bash so zu konfigurieren, dass die automatische Vervollständigung mit einer Registerkarte erfolgt, wie bei zsh?

Ist es möglich, Bash so zu konfigurieren, dass die automatische Vervollständigung mit einer Registerkarte erfolgt, wie bei zsh?

Wie die meisten Leute hier wissen, vervollständigt Bash das Wort, wenn Sie bei der Verwendung von Bash in der Eingabeaufforderung einen Dateinamen, einen Befehl oder eine Option zu einem Befehl usw. teilweise eingeben, wenn es genau eine Übereinstimmung gibt.
Wenn es mehr als eine Übereinstimmung gibt, müssen Sie <Tab>zweimal drücken und Bash generiert eine Liste möglicher Übereinstimmungen.
Ich möchte Bash so konfigurieren, dass diese Optionen einfach bei der ersten Eingabe bereitgestellt werden <Tab>.
Ist dies möglich, ohne ein Skript zu schreiben? Also eine Shell-Option?

man bashhat einen Abschnitt „Programmierbare Vervollständigung“, aber ich konnte nicht erkennen, ob es eine Option zum Aktivieren der „Einzeltab-Vervollständigung“ gibt.

Antwort1

Fügen Sie dies in Ihr ein ~/.inputrc:

set show-all-if-ambiguous on

Für zusätzliches Guthaben fügen Sie hinzu:

set completion-ignore-case on

Alle Optionen finden Sie imGNU-Handbuch...

Antwort2

Mein Ruf reicht nicht aus, um einen Kommentar abzugeben, aber ich möchte zu Jasonwryans Antworten hinzufügen, dass er ergänzt werden kann, .bash_profileoder .bashrcindem man sie folgendermaßen schreibt:

bind 'set show-all-if-ambiguous on'
bind 'set completion-ignore-case on'

Ich glaube, jemand anderes findet diese Frage genauso wie ich.

verwandte Informationen