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 的问题,如果我运行 cygwin.bat 启动 Windows 命令提示符,则一切正常。也许它与这个错误

答案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

相关内容