2017-04-06 1 views
3

Ich benutze das vi-mode Plugin von oh-my-zsh. In meinem .zshrc habe ichBind Löschtaste im vi Modus

bindkey '^[[3~' delete-char 

wo ^[[3~ der Escape-Code meiner Löschtaste ist. Dies funktioniert jedoch nur im Einfügemodus, nicht jedoch im Befehlsmodus. Als ich

$ abcd 

bewegen Sie den Cursor an den Anfang der Zeile ein und drücken del im Befehlsmodus, erhalte ich

$ ABCd 

so offenbar die Zeichenfolge der Löschtaste wörtlich interpretiert wird. Wie kann ich mit dem Löschschlüssel ein Zeichen im Befehlsmodus löschen?

Antwort

4
bindkey -a '^[[3~' delete-char 

Zsh verfügt über eine Vielzahl verschiedener Tastenbelegungen und bindkey bindet standardmäßig Tasten im normalen Tastenmodus des Einfügemodus. Die Befehlsmodus-Tastenbelegung wird mit -M vicmd ausgewählt. -a ist eine Abkürzung dafür. Sie können die Keymaps mit bindkey -l auflisten. Sie werden sehen, dass es auch viopp gibt, die für Bewegungen nach einem Schlüssel wie c oder d verwendet wird. Es gibt auch visuelle für visuelle Auswahlmodus.