Com a ajuda da lista de e-mails do mintty ( link ) eu encontrei a resposta. As linhas que eu preciso adicionar ao .zshrc são
bindkey '\e[H' beginning-of-line
bindkey '\e[F' end-of-line
Não consigo que as teclas Home e End funcionem para o zsh no Cygwin. Várias fontes parecem sugerir que
bindkey '\e[1~' beginning-of-line
bindkey '\e[4~' end-of-line
consertará o problema, mas isso não funciona para mim. Estranhamente, depois que eu entro
bindkey "\e[3~" delete-char
o botão Delete começa a funcionar (antes disso, apenas produz ~).
Alguém tem uma ideia do que está acontecendo?
Estou no Windows XP e estou usando as versões mais recentes dos pacotes disponíveis do Cygwin.
UPDATE : Este parece ser um problema com o mintty, se eu executar o cygwin.bat que inicia o prompt de comando do Windows, então tudo funciona bem. Talvez esteja relacionado a este bug ?
Com a ajuda da lista de e-mails do mintty ( link ) eu encontrei a resposta. As linhas que eu preciso adicionar ao .zshrc são
bindkey '\e[H' beginning-of-line
bindkey '\e[F' end-of-line
Aqui, minha lista completa de ligações úteis adicionais (corrigidas para remover os dois pontos dos comandos).
# 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