
Wie kann ich in zsh die Rücktaste drücken und mich durch Anführungszeichen bewegen?
Das Drücken von left
oder backspace
passiert am Anfang des Zitats nicht, nachdem ich nach der Eingabe von Folgendes die Eingabetaste gedrückt habe '
:
$ echo '
quote>
Die einzige mir bekannte Möglichkeit, das Material vor dem Zitat erneut zu bearbeiten, besteht darin, auf zu klicken control c
, aber ich glaube nicht, dass das besonders praktisch ist.
Antwort1
Möchten Sie das push-line-or-edit
Widget nutzen, dann können Sie den kompletten Befehl bearbeiten:
Zeile drücken oder bearbeiten Entspricht bei der Eingabeaufforderung der obersten Ebene (PS1) Push-Line. Bei einer sekundären Eingabeaufforderung (PS2) wird die gesamte aktuelle mehrzeilige Konstruktion in den Editorpuffer verschoben. Letzteres entspricht Push-Input, gefolgt von Get-Line.
Dieses Widget ist standardmäßig an keine Taste gebunden. Verwenden Sie daher
bindkey "^[q" push-line-or-edit
um es an zu binden ESC-q
. (Diese Tastenkombination ist an gebunden, push-line
wenn Sie die Emacs-Tastenkombinationen verwenden. Wenn Sie also push-line
regelmäßig verwenden, wählen Sie eine andere Tastenkombination.)
Eine kleine Demonstration (■ zeigt den Cursor):
$ bindkey "^[q" Zeile drücken oder bearbeiten $ echo '[Eingeben] [ Zitat ] ■[ESC-q] $ echo ' ■[Aufwärtspfeil] $ ■echo '