Ich schlage fiebrig CTRL+ Reinige Befehle , den ich vor einer Weile verwendet zu finden, als ich plötzlich um es zu bekommen. Durch Reflex fahre ich fort, CTRL+ zu schlagen R, und gebe es für etwas weiter zurück in der Shell-Geschichte. Wie gehe ich zurück zu dem Befehl, den ich gerade übergeben habe, ohne die ganze Suche von vorne beginnen zu müssen?
4
man bash
) vorwärts suchen , aber anscheinend funktioniert das nicht bei der Mint- oder Ubuntu: / Bash-Verlaufssuche. Ein partieller + Aufwärtspfeil könnte für eine andere Lösung relevant sein.Antworten:
Die Funktion Ctrl+ Rzum Rückwärtssuchen des Shell-Verlaufs wird von der von Bash verwendeten Readline- Bibliothek bereitgestellt . Die entsprechende Funktion zum Vorwärtssuchen im Verlauf ist standardmäßig an Ctrl+ gebunden S.
Jedoch ist das Problem , dass die Terminal - Treiber bereits verwendet diese Tastenkombination für Flusssteuerung : Drücken Ctrl+ S stoppt oder unterbricht Text an das Endgerät gedruckt wird und Ctrl+ Q nimmt die Strömung von Zeichen an das Endgerät gesendet.
Diese Einstellungen sind für die meisten Endgeräte auf GNU / Linux-Systemen standardmäßig aktiviert, so dass Bash / Readline die Ctrl+ -Tastenfolge nie sieht S, da sie vom Terminaltreiber abgefangen und nie an die Shell weitergeleitet wird.
Dieses Verhalten (auch als XON / XOFF-Flusssteuerung bezeichnet ) kann durch Ausführen von deaktiviert werden:
Jetzt wird die Tastenkombination Ctrl+ San Bash / Readline übergeben.
Alternative Tastenkombination
Wenn Sie möchten, dass Readline eine andere Tastenkombination für die Vorwärtssuche verwendet
bind
, aktivieren Sie mit dem Befehl eine andere Tastenzuordnung , z. B. Ctrl+ F(für Weiterleiten). NB: Alle Angebote sind erforderlich.Ändern Sie die Konfiguration, um diese Änderungen beizubehalten
Die Steuerung des Terminalflusses ist auf modernen Geräten nicht besonders nützlich. Daher würde ich empfehlen, den folgenden Befehl auszuführen, wenn ein neues Terminal oder Pseudo-Terminal gestartet wird:
.bashrc
Wäre wahrscheinlich eine gute Startdatei, um diesen Befehl auszuführen, da die Datei für interaktive Bash-Shells bereitgestellt wird. Wenn dies.bashrc
nicht durch.profile
oder erfolgt.bash_profle
, sollte der obigestty
Befehl zu der Startdatei hinzugefügt werden, die für die Login-Shells verwendet wird.In der Readline-Konfigurationsdatei können
.inputrc
Sie eine andere Tastenzuordnung verwenden, z. B. Ctrl+ F, um den Verlauf vorwärts zu durchsuchen :Ähnliche Links
quelle
Ctrl-S
von den meisten Betreuern von Distributionspaketen konfiguriert wurde, und habe der Vollständigkeit halber die Readline-Konfigurationsdatei hinzugefügt. Ich werde es herausarbeiten, da es nicht notwendig ist und die Antwort länger dauert, als es sein muss.