Nehmen wir an, ich habe 3 Dateien in einem bestimmten Verzeichnis:abc.txt, aww.txt, ant.txt
Wenn ich das tue:cat a
(und drücken Sie die Tabulatortaste, um die Optionen anzuzeigen) Das Terminal zeigt die 3 Dateinamen an:abc.txt, aww.txt, ant.txt
Gibt es eine Möglichkeit, das n-te Ergebnis auszuwählen, anstatt es einzutippen, indem die Indexnummer in den vom Terminal angezeigten Ergebnissen angegeben wird?
etwas wie:cat a2
um die zweite Datei zu erhalten (aww.txt
)?
Akzeptierte Antwort:
Angenommen, Sie verwenden bash, fügen Sie entweder Folgendes zu Ihrem ~/.bashrc
hinzu :
bind '"e[6~": menu-complete'
bind '"e[5~": menu-complete-backward'
Oder um die Standardeinstellungen für alle Programme zu ändern, die die readline-Vervollständigungsbibliothek verwenden, nicht nur bash, erstellen Sie die Datei ~/.inputrc
enthält:
$include /etc/inputrc
"e[6~": menu-complete
"e[5~": menu-complete-backward
Wenn Sie jetzt ein neues Terminal öffnen, können Sie Folgendes drücken:
- TAB wie gewohnt, um verfügbare Vervollständigungen anzuzeigen.
- Pg Dn um die erste Vervollständigung auszuwählen oder zur nächsten zu wechseln.
- Bild auf um den letzten Abschluss auszuwählen oder zum vorherigen zu wechseln.
- Alt +n Pg Dn , um die n-te Vervollständigung auszuwählen oder um n Vervollständigungen vorwärts zu gehen.
Geben Sie also für Ihr Beispiel Pg Dn ein Pg Dn oder Alt +2 Pg Dn um die zweite Datei aww.txt
zu erhalten .