Antworten:
Stellen Sie zunächst fest, welche Sequenz generiert wird.
echo "
CtrlVFnDelete" | od -c
Binden Sie diese Sequenz dann mit dem normalen zsh-Bindungsmechanismus.
echo "~"
, Sie müssen tatsächlich den Anweisungen folgen, die Ignacio Ihnen gegeben hat. Auf meinem System ist es ^[[3~
(oder als od
Ausgänge:) 033 [ 3 ~
. Das Kommando wäre also bindkey "^[[3~" delete-char
das, was in deine gehen würde ~/.zshrc
.
ctrl-v
gibt es eine spezielle Escape-Sequenz, bei der "das nächste Zeichen, das ich drücke, als buchstäbliches Zeichen ohne Fluchtzeichen eingefügt wird, anstatt das zu tun, was es normalerweise tut". Das heißt, es wird nicht konvertiert ~
, sondern bleibt die Escape-Sequenz.
0000000 C t r l V F n D e l e t e \n 0000016
.
Für mich hat das oben Genannte nicht funktioniert, also habe ich die folgende Schlüsselbindung zu meinem hinzugefügt ~/.zshrc
:
bindkey "\e[3~" delete-char
Zu Ihrer Information: Ich bin auf einem Mac (High Sierra).
~/.zshrc
.
cat
die Schlüssel eingeben und dann eingeben. Fn+F1
gibt mir ^[OP
zum Beispiel.
bindkey '
CtrlvFnDelete' delete-char
Dies wird Fn+ binden Delete, um ein einzelnes Zeichen weiterzuleiten. Wenn das oben nicht klar ist, müssen Sie zwischen dem Eingeben der Anführungszeichen Ctrl+ vund Fn+ Deleteeingeben. CtrlMit + vkönnen Sie die buchstäbliche Escape-Escape-Sequenz für jede Taste eingeben, die danach kommt.
Sie können diese Zeile in Ihre ~/.zshrc
Datei einfügen.