Wenn ich mich im Terminal befinde und die Aufwärtspfeiltaste drücke, geht es natürlich zum vorherigen Befehl. Wenn ich jedoch die M-xTasten drücke und shell
tippe, wird in Emacs eine integrierte Shell angezeigt:
Wenn ich jedoch einen Befehl eingebe und nach oben drücke, geschieht Folgendes:
Wie komme ich zum letzten Befehl zurück, den ich eingegeben habe?
RET
. NatürlichC-up
ist es viel einfacher.Antworten:
Die Funktion, die den Eingabeverlauf rückwärts durchläuft und die Eingabe speichert. ist
comint-previous-input
Es ist gebunden an C-up, M-p.
quelle
Habe gerade eine Antwort auf Super User gefunden:
Wie führt man den vorherigen Befehl in der Emacs-Shell aus?
M-p geht zum vorherigen Befehl.
quelle
Sie können helm-eshell-history für die interaktive Auswahl des Verlaufs verwenden und das Original ersetzen
C-c C-l
:quelle
Meine Lieblingsbefehle zum Durchlaufen des Shell-Befehlsverlaufs sind
comint-previous-matching-input-from-input
undcomint-next-matching-input-from-input
. Wenn die Eingabeaufforderung leer ist, verhalten sie sich genau socomint-previous-input
undcomint-next-input
durchlaufen alle Verlaufselemente. Wenn Sie beispielsweise eingegeben habenrake
, durchlaufen sie den Shell-Befehlsverlauf von Befehlen, die mit beginnenrake
.Standardmäßig werden diese gebunden
C-c M-r
undC-c M-s
jeweils, aber ich finde die nicht ideal. Ich binde sie persönlich anM-TAB
und<M-S-tab>
.quelle
Eine andere Möglichkeit, wenn Sie Eiszapfen verwenden : Verwenden Sie
C-c TAB
(Befehlicicle-comint-command
), um einen zuvor eingegebenen Befehl mit Abschluss (oder Radfahren) auszuwählen.quelle
In Eshell haben sich die Dinge ein wenig geändert. Hier ist meine aktualisierte Arbeitslösung für die Verwendung der Helm-Eshell-Geschichte
quelle