Ich kann mich nicht an den Trick erinnern, bei dem ich den letzten Befehl erhalten konnte, ohne ihn auszuführen:
Nehmen wir an, ich möchte in der Lage sein, auf den Befehl zuzugreifen! 1255, indem ich die Aufwärtspfeiltaste drücke und den Befehl ändere. Also, wie lautet der Trick, um den Befehl aufzurufen, in der Befehlszeile anzuzeigen, aber nicht auszuführen und anschließend über die Pfeiltaste nach oben zuzugreifen?
Ich habe versucht, ein Echo zu setzen, aber dann habe ich ein Echo vor dem Befehl. Ich weiß nicht mehr, wie ich es richtig machen soll.
Antworten:
Werde das tun
!
Beim Abrufen1255
der Historie wird die Zeilennummer:p
gedruckt, aber nicht ausgeführtDann können Sie den Pfeil nach oben verwenden, um zum vorherigen (nicht ausgeführten) Befehl zurückzukehren, und Sie können ihn nach Bedarf ändern.
Ich kombiniere dies oft mit
hg
("History Grep") - meinem Lieblingsalias.Dies sucht unabhängig von Groß- und Kleinschreibung nach Text in einer aktuellen Verlaufszeile und wird folgendermaßen verwendet:
Wenn ich nach den letzten vi-Befehlen suchen möchte, um eine bestimmte Datei zu bearbeiten, und dann einen von ihnen wiederverwenden möchte, um dieselbe Datei mit einer anderen Dateierweiterung zu bearbeiten.
Ich definiere auch
hga
("History Grep All"), um meine gesamte Geschichte zu durchsuchen:Ich verwende es jedoch nicht oft, da mein Verlauf (absichtlich) sehr umfangreich ist und ich zu viele Ausgaben erhalte, die sich später auf das Zurückblättern durch die Seiten in meinem Terminal auswirken.
quelle
hg
auch die CLI von Mercurial ist .Durch Drücken von Ctrl+ R(das ist die umgekehrte inkrementelle Suchschlüsselbindung des Emacs, wenn @gnp in den Kommentaren angegeben wird) im Terminal können Sie im Archiv nach einem bestimmten Befehl suchen. Der Befehl wird angezeigt und kann vor der Ausführung bearbeitet werden. Sie werden so etwas sehen:
Quelle
quelle
der
fc
befehl macht was sie wollenfc -l <number>
listet den Befehlsverlauf um diese Nummer auffc <number>
öffnet diesen Befehlszeileneintrag invim
(oder was auch immer Ihr Standardeditor ist, nehme ich an), so dass Sie ihn bearbeiten können, und daraufhin:wq
steht er Ihnen mit dem Aufwärtspfeil zur Verfügung.quelle
In bash wird
Ctl+alt+e
die Shell-Erweiterung ausgeführt. Wenn!1255
Sie diese Kombination eingeben und dann drücken, wird die aktuelle Zeile durch den Inhalt des Verlaufseintrags 1255 ersetztquelle
man bash
alsshell-expand-line
. Vielleicht gibt es eine Abkürzung für das Gnome-Terminal.Sie möchten den Befehl fc verwenden, während Sie eine Liste angeben, anstatt (-l) auszuführen.
quelle