Cygwin + zsh: клавиши Home и End не работают

Я не могу заставить ключи Home и End работать для zsh под Cygwin. Различные источники, кажется, предполагают, что

bindkey '\e[1~' beginning-of-line
bindkey '\e[4~' end-of-line

решит проблему, но это не работает для меня. Странно, после того как я вхожу

bindkey "\e[3~" delete-char

кнопка Удалить начинает работать (до этого она просто выводит ~).

У кого-нибудь есть идея, что происходит?

Я использую Windows XP и использую последние версии доступных пакетов Cygwin.

ОБНОВЛЕНИЕ: Это похоже на проблему с mintty. Если я запустил cygwin.bat, который запускает командную строку Windows, то все работает нормально. Может быть, это связано с этой ошибкой?

2 ответа

Решение

С помощью мятного списка рассылки ( https://groups.google.com/forum/?fromgroups#!topic/mintty-discuss/v4b86DBNI80 ) я нашел ответ. Строки, которые мне нужно добавить в .zshrc:

bindkey '\e[H' beginning-of-line
bindkey '\e[F' end-of-line 

Вот мой полный список дополнительных полезных привязок (исправлено удаление двоеточий из команд).

# ctrl-left/right
bindkey "\e[1;5C" forward-word
bindkey "\e[1;5D" backward-word

# ctrl-backspace/delete
bindkey "\C-_" backward-kill-word
bindkey "\e[3;5~" kill-word

# alt-backspace
bindkey "\e\d" undo

bindkey "\e[3~" delete-char
bindkey '\e[H' beginning-of-line
bindkey '\e[F' end-of-line
Другие вопросы по тегам