Cygwin + zsh:Home 和 End 鍵不起作用

Cygwin + zsh:Home 和 End 鍵不起作用

我無法讓 Home 和 End 鍵在 Cygwin 下為 zsh 工作。各種消息來源似乎表明

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

會解決問題,但這對我沒效。奇怪的是,我進去後

bindkey "\e[3~" delete-char

刪除按鈕開始工作(在此之前它只是輸出〜)。

有人知道發生了什麼事嗎?

我使用的是 Windows XP,並且使用的是可用 Cygwin 軟體包的最新版本。

更新:這似乎是 mintty 的問題,如果我執行啟動 Windows 命令提示字元的 cygwin.bat,則一切正常。或許與以下有關這個錯誤

答案1

在 mintty 郵件清單的幫助下 (https://groups.google.com/forum/?fromgroups#!topic/mintty-discuss/v4b86DBNI80)我找到了答案。我需要添加到 .zshrc 的行是

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

答案2

這是我的其他有用綁定的完整列表(已更正以從命令中刪除冒號)。

# 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

相關內容