GNU/Linux >> LINUX-Kenntnisse >  >> Ubuntu

Wie lässt sich das Terminal automatisch vervollständigen, wenn mehrere Dateien/Verzeichnisse vorhanden sind?

Wenn ich mehrere Verzeichnisse habe, wie:

afoo abar

Manchmal verweigert mein Terminal die automatische Vervollständigung, wenn ich die Tabulatortaste drücke (z. B. „cd a“, dann die Tabulatortaste), und drucke stattdessen die Liste der Verzeichnisse. Manchmal wirft es sogar ein lautes, störendes Geräusch. Irgendeine Idee, wie man es in solchen Fällen automatisch vervollständigen kann? Beispielsweise kann es zuerst abar und dann afoo anzeigen, wenn ich erneut die Tabulatortaste drücke. Ich habe gesehen, dass dies in Windows oder einigen Anwendungen in Ubuntu der Fall ist

Beste Antwort

Etwas, das für mich lebensrettend ist, ist, dass Bash die Möglichkeiten durchgeht, anstatt eine dumme Liste zu zeigen.

Da bash readline verwendet Fügen Sie für die automatische Vervollständigung die folgenden Zeilen zu ~/.inputrc hinzu

Sobald Sie zufrieden sind und die unten stehende Lösung einige Tage/Wochen gründlich getestet haben, schneiden und einfügen (nicht kopieren!) dieselben Einstellungen aus ~/.inputrc nach /etc/inputrc die die systemweiten Einstellungen enthält und diese allen Benutzern Ihres Systems (einschließlich Gast) zur Verfügung stellt.

Der Codez:

# mappings to have up and down arrow searching through history:
"e[A": history-search-backward
"e[B": history-search-forward
# mappings to have left and right arrow go left and right: 
"e[C": forward-char
"e[D": backward-char

# mapping to have [Tab] and [Shift]+[Tab] to cycle through all the possible completions:
"t": menu-complete
"e[Z": menu-complete-backward

dann exit Ihr Terminal (oder entferntes Terminal wie Putty) und öffnen Sie es erneut…

Beispiele:

  1. Wenn Sie 3 Dateien haben:file1 , file2 und file3 und Sie geben ein:

    e fTabTabTab

    es durchläuft:

    e file1
    e file2
    e file3
    

    und wenn Sie rückwärts radeln möchten, drücken Sie einfach Shift +Tab

  2. Wenn Sie Folgendes eingeben:

    very-complicated-command with lots of command line parameters
    

    und das nächste Mal, wenn Sie denselben Befehl benötigen, geben Sie einfach ein:

    very

    und es wird für Sie eingeben:

    very-complicated-command with lots of command line parameters
    

Das wird Ihnen eine Menge Zeit in bash sparen! 😉


Ubuntu
  1. Wie kann man Bash Autocomplete anpassen, um die Dateien in einem anderen Verzeichnis aufzulisten?

  2. Wie listet man rekursive Dateigrößen von Dateien und Verzeichnissen in einem Verzeichnis auf?

  3. Wie verstecke ich die Terminalausgabe beim Ausführen eines Befehls?

  4. Wie lässt sich die Unity-Terminal-Schaltfläche dazu bringen, ein separates Terminal zu öffnen?

  5. Gnome-Terminal:Wie werden Symlinks des Arbeitsverzeichnisses beibehalten, wenn ein neuer Tab geöffnet wird?

So zählen Sie Dateien im Verzeichnis in Linux

So laden Sie Dateien über die Befehlszeile im Ubuntu-Terminal herunter

So extrahieren Sie Dateien in einen bestimmten Ordner unter Linux

So machen Sie Passwort-Sternchen im Ubuntu-Terminal sichtbar

So zeigen Sie GIF-Dateien im Ubuntu-Terminal an

So entfernen Sie Dateien und Verzeichnisse auf einem Linux-Terminal