19

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

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

3 ответа3

18

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

echo " Ctrl V Fn Удалить " | od -c

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

1

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

bindkey "\e[3~" delete-char

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

0

bindkey ' Ctrl v Fn Delete ' delete-char

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

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

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .