Відповіді:
Спочатку з’ясуйте, яку послідовність вона генерує.
echo "
CtrlVFnDelete" | od -c
Потім зв’яжіть цю послідовність, використовуючи звичайний механізм зв'язування zsh.
echo "~"
, ви повинні насправді слідувати вказівкам, які вам дав Ігнасіо . У моїй системі це ^[[3~
(або як od
вихід:) 033 [ 3 ~
. Тож команда була б, bindkey "^[[3~" delete-char
яка пішла б у вашому ~/.zshrc
.
ctrl-v
є спеціальна послідовність евакуації, яка означає "вставити наступний символ, який я натискаю як буквальний символ без нагляду, замість того, щоб робити все, що зазвичай робить". Це означає, що він не перетворюється в ~
, а залишається як послідовність втечі.
0000000 C t r l V F n D e l e t e \n 0000016
.
Для мене вищезгадане не зробило жодної хитрості, тому я додав до моїх наступних ключів ~/.zshrc
:
bindkey "\e[3~" delete-char
FYI: Я на Mac (Висока Сьєрра).
~/.zshrc
.
cat
а потім набрати клавіші. Fn+F1
дає мені, ^[OP
наприклад.
bindkey '
CtrlvFnDelete' delete-char
Це прив’яже Fn+, Deleteщоб видалити вперед один символ. Якщо вищезгадане не зрозуміло, вам потрібно набрати Ctrl+ v, Fn+ Deleteміж введенням лапок. Ctrl+ vдозволяє вводити послідовну послідовність втечі будь-якого ключа після нього.
Ви можете помістити цей рядок у свій ~/.zshrc
файл.