Tastaturkürzel zum Speichern des eingegebenen Befehls und zum Bereinigen der Zeile

12

Sie kennen die Situation: Sie sind in der Mitte der Eingabe eines langen Befehls (z. B. einer Commit-Nachricht) und stellen fest, dass Sie vergessen haben, einen vorausgesetzten Befehl auszuführen, der nicht hinzugefügt werden kann &&. Wenn mir das passiert, wähle ich normalerweise aus, was ich mit der Maus eingegeben habe, kopiere es in die Zwischenablage, drücke Strg-U, um die Zeile zu löschen, führe meinen vorausgesetzten Befehl aus und füge ihn aus der Zwischenablage ein. Aber vielleicht gibt es einen besseren Weg, am besten ohne die Maus zu benutzen? Ich suche nach Lösungen für bash und / oder zsh.

chiborg
quelle

Antworten:

20

Nachdem Sie STRG-U verwendet haben, können Sie STRG-Y verwenden, um das Gelöschte wieder einzufügen. Dies funktioniert auch nach dem Löschen eines oder mehrerer Wörter mit STRG-W.

Beachten Sie, dass Sie nichts wirklich in die Zwischenablage kopieren oder mit der Maus auswählen müssen - STRG-U zieht die Zeile sozusagen in eine separate Zwischenablage.

Eduardo Ivanec
quelle
5

Fügen Sie am Anfang Ihrer aktuellen Zeile ein '#' ein. Drücken Sie die Eingabetaste, um den Kommentar zu Ihrem Verlauf hinzuzufügen. Führen Sie den erforderlichen Befehl aus. Gehen Sie zum vorherigen Befehl und löschen Sie das #.

Glenn Jackman
quelle
5

Dies wurde kürzlich auf der Unix- und Linux-Site von SE gefragt und diskutiert . In meiner Antwort wurde erklärt, dass Sie, wenn Sie zsh als Shell verwenden, die Push-Line-Funktion verwenden können, um den gerade ausgeführten Befehl zu verstecken, etwas anderes auszuführen. Dann wird Ihr erster Befehl zurückgegeben und Sie können ihn beenden. In .zshrc:

bindkey '^L' push-line

Verwenden Sie dann Ctrl+ L, um den aktuellen Befehl anzuhalten und zu ihm zurückzukehren, nachdem Sie etwas anderes ausgeführt haben.

Einige andere Antworten wurden gegeben, darunter Einstellungen für ähnliche Aktionen in Bash und einige angepasste Versionen dieses in zsh eingebauten Tools.

Caleb
quelle
0

Sie können die Shift-Alt-3aktuelle Zeile kommentieren und zur nächsten wechseln. Dann drücken Sie up, Ctrl-e, Delund tadam!

MInner
quelle