Einzelne Verknüpfung zum Vorwärtssuchen nach Strg-R-Rückwärtssuche

13

Ich benutze Ctrl+ die Rganze Zeit, aber am Ende übersteige ich oft den Befehl, nach dem ich gesucht habe, weil ich ihn so schnell drücke.

Weiterleiten suchen, Ctrl+ Skann verwendet werden , vorausgesetzt , es ist nicht das Terminal zuerst (konsole in meinem Fall verwendet , in dem stty -ixonin ~/.bashrcfixem es).

Ich muss es jedoch zweimal drücken: Einmal, i-searchnachdem es sich im reverse-i-searchModus befindet, scheint es einzutreten , und ein zweites Mal, um tatsächlich einen Schritt zurückzutreten.

Gibt es eine Möglichkeit, das zweimalige Drücken der Tastenkombination zu vermeiden?

jozxyqk
quelle
3
Wie bei Strg-R wartet das erste Strg-S auf die Suche nach einer Zeichenfolge. Der zweite Befehl verwendet denselben Suchbegriff wie zuvor (mit Strg-R in Ihrer Situation). Ich kenne keine Möglichkeit, diese beiden Schritte zu umgehen. readlineEs fehlt die Funktion "Gleiche Zeichenfolge in umgekehrter Richtung suchen".
Xhienne

Antworten:

11

Hier ist ein anderer Ansatz. Wenn Sie mit einigen grundlegenden vi-Bearbeitungsbefehlen vertraut sind, unterstützt bash einen vi-Modus für die Befehlszeilenbearbeitung. Wenn du vi wirklich hasst, wird dir das nicht gefallen. Aber wenn Sie es tolerieren können, finden Sie es möglicherweise besser und mit weniger Tastenanschlägen.

set -o vi

Die Verlaufssuche funktioniert folgendermaßen:

  • Esc um in den Befehlsmodus zu gelangen
  • / Suche zu beginnen
  • Geben Sie den Text der Suchzeichenfolge ein
  • Enter Suche durchführen
  • n um zum nächsten Spiel zu gehen
  • N um zum vorherigen Spiel zurückzukehren
  • i um in den Einfügemodus zurückzukehren
  • Enter Befehl ausführen
MikeLRoy
quelle
Der VI-style Äquivalente Ctrl-R und Ctrl-S ist nund Njeweils. Und sie müssen nicht zweimal angetippt werden. Faszinierend!
Nathaniel M. Beaver
2

Anscheinend erfordert die Suche im Bash-Verlauf, dass Sie zuerst auf die Verknüpfung drücken, um die Suchrichtung anzuzeigen, und dann erneut auf, um die Suche tatsächlich durchzuführen. Ich glaube nicht, dass es möglich ist, die Funktionsweise zu ändern, ohne den Quellcode zu ändern.

Sie können jedoch hstr (https://github.com/dvorka/hstr) installieren, das ein Vorschlagsfeld mit erweiterten Suchoptionen zum einfachen Anzeigen, Navigieren, Suchen und Verwalten Ihres Befehlsverlaufs enthält:

Bildbeschreibung hier eingeben

dr01
quelle