Связывание Fn-Delete в zsh на Mac OS X

В zsh, когда я нажимаю Fn+Delete (удаление вперед), вставляется тильда (~). Это указывает на то, что у zsh нет привязанного ключа.

Как мне связать его и заставить его вести себя нормально (удалить перед курсором)?

3 ответа

Решение

Сначала выясните, какую последовательность он генерирует.

echo "CtrlVFnУдалить" | od -c

Затем свяжите эту последовательность, используя обычный механизм связывания zsh.

Для меня вышеупомянутое не помогло, поэтому я добавил следующую привязку ключа к своему ~/.zshrc:

bindkey "\e[3~" delete-char

К вашему сведению: я на Mac (High Sierra).

bindkey 'CtrlvFnУдалить' delete-char

Это свяжет Fn+Delete, чтобы удалить вперед один символ. Если вышеприведенное не понятно, вам нужно набрать Ctrl+v, Fn+Delete между наборами кавычек. Ctrl+v позволяет вводить буквально escape-escape-последовательность любой клавиши, следующей за ней.

Вы можете поместить эту строку в свой ~/.zshrc файл.

Другие вопросы по тегам