Ответы:
Сначала выясните, какую последовательность он генерирует.
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файл.