Wenn ich ein Terminal verwende und eine Textzeile für einen Befehl eingebe, gibt es einen Hotkey oder eine Möglichkeit, diese Zeile zu löschen / löschen?
Zum Beispiel, wenn meine aktuelle Zeile / mein Befehl so lang ist wie:
> git log --graph --all --blah..uh oh i want to cancel and clear this line <cursor is here now>
Gibt es einen Hotkey oder Befehl, um von oben zu:
>
?
Normalerweise drücke ich die ↓Taste, und wenn meine aktuelle Zeile eine brandneue in der Geschichte ist, wird sie gelöscht. Wenn ich jedoch meinen Befehlsverlauf über die ↑Taste durchlaufe und mit der Bearbeitung oder Verwendung dieser Befehle beginne, ↓wird die Eingabeaufforderung nur auf den nächstneueren Befehl im Verlauf geändert, sodass dies hier nur funktioniert, wenn ich ↓mehrmals drücke .
Antworten:
Mit Ctrl+ können Sie Ubis zum Anfang löschen.
Mit Ctrl+ können Sie Wnur ein Wort löschen.
Sie können auch Ctrl+ Czum Abbrechen verwenden.
Wenn Sie den Verlauf beibehalten möchten, können Sie mit Alt+ Shift+ #einen Kommentar abgeben.
Bash Emacs Bearbeitungsmodus Spickzettel
quelle
<kbd>...</kbd>
Tag, um Schlüssel in SO anzuzeigen .ESC
ist ein eigener Modifikatorschlüssel in Bash. Es wird beispielsweise zum Abbrechen der Verlaufsnavigation (CTRL
+r
) oder zum Vertauschen der letzten beiden Wörter hinter dem Cursor (ESC
+t
) verwendet.Um alle Antworten zusammenzufassen:
quelle
Alt + D
Alt
+D
funktioniert nicht, deshalb habe ich es nicht aufgenommen :(CTRL + L
löscht den Bildschirm, behält aber bei, was in der aktuellen Befehlszeile eingegeben wurde.Ctrl + Alt + >
bewegt sich zum Ende des Eingabeverlaufs, was perfekt ist, wenn Sie die Suche im Verlauf abbrechen möchten.Ich habe die vollständige Verknüpfungsliste:
quelle
CTRL
+L
(16.) den Inhalt der aktuellen Befehlszeile beibehält.Ctrl
+h
: Löschen Sie das Zeichen vor dem CursorCtrl+ A, Ctrl+ K, um die aktuelle Zeile im Terminal zu löschen. Sie können es dann bei Bedarf mit Ctrl+ abrufen Y.
quelle
oder wenn Sie den vi-Modus verwenden, drücken Sie Escgefolgt voncc
um zurück zu bekommen, was du gerade gelöscht hast, Escund dann p:)
quelle
echo 'set editing-mode vi' >> ~/.inputrc
. Funktioniert auch an Orten wie Python-Interpreter-Eingabeaufforderungen und einigen SQL-ClientsIch bin mir nicht sicher, ob du es liebst, aber ich benutze Ctrl+ A(um die Zeile zu beginnen) und Ctrl+ K(um die Zeile zu löschen). Ich war mit diesen Befehlen von Emacs vertraut und habe sie versehentlich herausgefunden.
quelle
Eine Alternative zu Ctrl+ A, Ctrl+ Kist Ctrl+ E, Ctrl+ U.
quelle
Ctrl+ w: Verschiebe Zeichen und (mehrere) Wörter, die von deinem Cursor übrig geblieben sind, in einen Ringpuffer
Ctrl+ y: Füge den letzten Eintrag aus deinem Ringpuffer ein und dann kannst du Alt+ verwenden y, um dich durch deinen Ringpuffer zu drehen. Drücken Sie mehrmals, um mit dem "vorherigen" Eintrag im Ringpuffer fortzufahren.
quelle
CTRL+ Rund beginnen Sie mit der Eingabe, um nach vorherigen Befehlen im Verlauf zu suchen. Zeigt volle Linien an.
CTRL+ Rerneut zum Radfahren.
quelle
Ctrl + W löscht das Wort links.
quelle
Zur Liste hinzufügen:
Wenn Sie im Emacs-Modus drücken Esc, gefolgt von R, wird die gesamte Zeile gelöscht.
Ich weiß nicht warum, finde es einfach. Vielleicht wird es nicht zum Löschen von Zeilen verwendet, hat aber zufällig den gleichen Effekt. Wenn jemand weiß, sag es mir bitte, danke :)
Funktioniert in Bash, funktioniert aber nicht in Fish.
quelle
revert-line
Befehl readline: "Alle an dieser Zeile vorgenommenen Änderungen rückgängig machen". Es ist standardmäßig anM-r
(Meta-R) gebunden, das sowohl Alt-R als auch Esc R sein kann. Dies bedeutet, dass die Zeile nicht gelöscht wird, sondern nur, wenn sie zunächst leer war. Wenn Sie in Ihrem Befehlsverlauf zurückblättern und einen Befehlrevert-line
ändern, wird der ursprüngliche Befehl geändert und die Zeile nicht gelöscht.Um die gesamte Zeile zu löschen, unabhängig davon, wo sich der Cursor befindet, können Sie den
kill-whole-line
Befehl verwenden, der jedoch standardmäßig nicht gebunden ist. Es kann zum Beispiel durch Einfügen an Ctrl+ Alt+ gebunden werdenKin Ihre Readline-Init-Datei (herkömmlich)
~/.inputrc
).Verschiedene Bemerkungen:
Um zu vermeiden, dass versehentlich eine Tastenfolge neu zugewiesen wird, die bereits für etwas anderes verwendet wird, können Sie alle Ihre Bindungen mit überprüfen
bind -P
. Überprüfen Sie die vorgeschlagene Bindung mitINPUTRC
. Wenn es nicht gesetzt ist, ist der Standardwert~/.inputrc
oder (falls nicht vorhanden)/etc/inputrc
. Beachten Sie~/.inputrc
, dass, wenn Sie haben ,/etc/inputrc
ignoriert wird.bind
eingebautequelle
So reinigen Sie die gesamte Leitung (auf zwei verschiedene Arten):
quelle
Alt+ #kommentiert die aktuelle Zeile aus. Es wird bei Bedarf in der Historie verfügbar sein.
quelle