webentwicklung-frage-antwort-db.com.de

Der Bash-Verlauf der Suche kann nicht wie bei STRG-R weitergeleitet werden

Ich versuche, meine Bash-Geschichte ähnlich wie mit zu durchsuchen CTRL-r, aber in Vorwärtsrichtung.

Es war ein Schmerz für mich, wenn ich nur einmal zu oft geschlagen habe CTRL-r, um den vorherigen Befehl erneut zu finden.

Wie können Sie Ihren Bash-Verlauf ähnlich wie bei der Rückwärtssuche vorwärts durchsuchen?

Sie können auch vorwärts suchen. Aus dem Bash-Info-Handbuch " 8.2.5 Suchen nach Befehlen im Verlauf ":

Um rückwärts im Verlauf nach einer bestimmten Zeichenfolge zu suchen, geben Sie C-r Ein. Wenn Sie C-s Eingeben, wird der Verlauf vorwärts durchsucht.

Das Problem bei Strg-S ist jedoch, dass es manchmal zu Kollisionen mit der XON/XOFF-Flusssteuerung kommt (beispielsweise in Konsole). Die Suche ist jedoch eine Readline-Funktion, und Sie sollten in der Lage sein, sie an einen anderen Schlüssel zu binden. Update: Einfacher und besser ist es, XON/XOFF durch Ausführen zu deaktivieren

stty -ixon
284
hlovdal

Der beste Trick ist meiner Meinung nach die Aktivierung mit pgup und pgdown. Gib das einfach in dein ~/.inputrc

"\e[5~": history-search-forward
"\e[6~": history-search-backward

logout/login, geben Sie die ersten Buchstaben ein und dann pgup oder pgdown, um im Verlauf zu suchen

ctrl-R Durchsucht alle Zeilen, die Wörter enthalten, während in der Verlaufssuche nach Zeilen gesucht wird, die mit Wörtern beginnen

36
Eric Burghard

Vielleicht möchten Sie es mit https://github.com/dvorka/hstr versuchen, das das Filtern des Bash-Verlaufs mit (optionalen) metrikbasierten Sortierungen im Stil eines Kastens ermöglicht, dh es ist viel effizienter und schneller in Vorwärts- und Rückwärtsrichtung:

enter image description here

Es kann leicht gebunden sein Ctrl-r und/oder Ctrl-s

22
Martin Dvorak

Normalerweise drücke ich ESC im Terminal und dann das '>'. Zumindest wird es zurückgesetzt, und Sie könnten dann versuchen, weniger zu oft auf STRG + R zu klicken.

12
Eyad Ebrahim