Wie steuere ich, wenn die automatische Bash-Vervollständigung eine ausgelagerte Liste von Vervollständigungen anzeigt?

8

In meinen vorherigen Linux-Installationen hat die automatische Bash-Vervollständigung immer ohne Probleme funktioniert. Wenn ich etwas mit Dateien tun wollte, indem ich ein Präfix des Dateinamens gab und den Tabulator drückte, wurden alle aufgelistet, die mit dem Präfix übereinstimmten, aber es wiederholte auch die Eingabeaufforderung darunter mit meinem Befehl und Präfix, so dass ich sofort weiter tippen konnte.

Jetzt habe ich mein System auf kubuntu 18.04 aktualisiert und die automatische Vervollständigung funktioniert nicht mehr so ​​flüssig. Was noch seltsamer ist, das Verhalten ist unvorhersehbar, da es von der Konsole abhängt. Wenn der Befehl lautet less, funktioniert er immer korrekt (wie oben beschrieben). Wenn der Befehl jedoch cpoder lautet mv, variiert das Verhalten. Manchmal funktioniert es richtig, aber oft wird eine Liste übereinstimmender Dateien mit mehr angezeigt (meine Eingabeaufforderung wird ausgeblendet), und ich muss eingeben q, um mehr zu beenden und fortfahren zu können. Eine kleine Sache, aber ärgerlich, da es zusätzliche Eingabe erfordert.

Ich sehe diese .bashrcAnrufe /usr/share/bash-completion/bash_completion , habe aber keine Änderungen daran vorgenommen.

Frage: Was verursacht dieses unvorhersehbare Verhalten? Wie kann ich es reparieren?

Whamalai
quelle

Antworten:

8

Der Grund stellte sich als sehr einfach heraus: Wenn das Terminal ausreichend groß ist, kann die automatische Vervollständigung alle Alternativen über der Eingabeaufforderung (in zwei Spalten) anzeigen. Wenn es jedoch zu klein ist, werden mehr verwendet. Der Trick besteht also darin, ausreichend große Terminals zu verwenden.

Aus irgendeinem Grund war ich in meinen vorherigen Installationen nicht darauf gestoßen, möglicherweise aufgrund größerer Terminals / kleinerer Schriftarten. Mit weniger funktionierte alles gut, weil es weniger Alternativen gab und sie zum Terminal passten.

Whamalai
quelle