Wie können Sie die Richtung der Alt-Periode in Bash umkehren?

10

In Bash können Sie drücken Alt- .das letzte Argument des vorherigen Befehls einzufügen. Wenn Sie mehrmals darauf drücken, werden die letzten Argumente aller Befehle in Ihrem Verlauf durchlaufen. Manchmal drücke ich es jedoch zu oft, und ich möchte die Richtung des Radfahrens umkehren und daher vorwärts gehen. Ist das möglich?

(dh wenn Sie mit Ctrl- umgekehrt suchen r, können Sie die Richtung mit Ctrl- ändern s. Was ist das Analogon für Alt- .?)

Sparhawk
quelle

Antworten:

11

Wenn Sie ein negatives Argument zu liefern Alt- ., kehrt er die Richtung. Der einfachste Weg, dies zu tun (mit Standard-Tastenkombinationen), ist Alt- -(entspricht einem Argument von -1).

Also, nach einer oder mehrere Alt- .Drücken von Tasten, drücken Alt- -die nächste verursachen Alt- .in umgekehrter Richtung zu gehen. (Ignorieren Sie einfach den Argumentdialog, der angezeigt wird, wenn Sie Alt- drücken -.)

Rici
quelle
1
Ich bin mir nicht sicher, was du genau meinst. Durch Drücken von Alt+ -wird die Eingabeaufforderung entfernt und (arg: -1)stattdessen eingefügt . Der Befehl selbst bleibt unverändert.
Sparhawk
1
Der nächste Alt-. (mit dem Argument -1) wird vorwärts gehen.
Rici
Das ist großartig! Ich habe die Antwort bearbeitet, um sie etwas klarer zu gestalten. Was macht alt+ -genau?
Sparhawk
1
@ Parhawk: Wie gesagt, alt -erzeugt ein Argument -1für den nächsten Readline-Befehl. Oder genauer gesagt, es beginnt ein negatives Argument, also würde alt -alt` 2ein Argument von erzeugen -2. Im Fall von alt .ist nur das Vorzeichen des Arguments von Bedeutung, und nur wenn es negativ ist, alt -ist dies ausreichend. (Der erste alt .behandelt seine Argumentation anders. Siehe das Bash-Handbuch.)
Rici
Vielen Dank. Ich finde man bashsolche Situationen oft etwas undurchsichtig, aber ich denke, es ist hier ein wenig geklärt.
Sparhawk