Ответы:
Сначала выясните, какую последовательность он генерирует.
echo "
CtrlVFnDelete" | od -c
Затем свяжите эту последовательность, используя обычный механизм связывания zsh.
echo "~"
, вы должны фактически следовать указаниям, которые дал вам Игнасио . В моей системе это ^[[3~
(или как od
выходы:) 033 [ 3 ~
. Так что команда будет bindkey "^[[3~" delete-char
в вашем ~/.zshrc
.
ctrl-v
есть специальная escape-последовательность, которая означает «вставить следующий символ, который я нажимаю, как буквальный неэкранированный символ, вместо того, чтобы делать то, что обычно делает». Это означает, что он не конвертируется ~
, а остается в качестве escape-последовательности.
0000000 C t r l V F n D e l e t e \n 0000016
.
Для меня вышеупомянутое не сработало, поэтому я добавил следующую привязку ключа к своему ~/.zshrc
:
bindkey "\e[3~" delete-char
К вашему сведению: я на Mac (High Sierra).
~/.zshrc
.
cat
а затем набрать ключи. Fn+F1
дает мне, ^[OP
например.
bindkey '
CtrlvFnDelete' delete-char
Это будет связывать Fn+ Deleteдля удаления вперед одного символа. Если вышеупомянутое не ясно, вам нужно вводить Ctrl+ v, Fn+ Deleteмежду вводом кавычек. Ctrl+ vпозволяет вам вводить буквально escape-escape-последовательность любого ключа после него.
Вы можете поместить эту строку в свой ~/.zshrc
файл.