在默认的Cygwin安装中,使用CTRL-LEFTARROW或CTRL-RIGHTARROW只需打印5C或5D,而不是按预期的时间一次跳过一个单词。 。

评论

请注意,此问题针对的是Cygwin,但可以在Unix / Linux系统上通用。如果您使用的是PuTTY,但发现此处的解决方案不适合您,请查看一个专门用于PuTTY的代码的问题。

在完整的linux下,我也遇到了这种情况;根据一些在线建议,我添加了一个〜/ .inputrc文件-废除了所有Linux Mint默认值。您可以通过在〜/ .inputrc的顶部添加$ include / etc / inputrc来获得它们(假设/ etc / inputrc是您系统范围的inputrc,它在Linux Mint上)

#1 楼

找到了一个解决方案,以备后用。

~/.inputrcC:\cygwin\home\<username>\.inputrc)中添加以下行: C-x C-r重新读取当前会话的.inputrc文件。

要进行其他类似的自定义设置时要注意的事项:向上箭头和向下箭头使用5A5B,而转换版本使用2x。 >
《 Bash参考手册》中描述了“官方”键映射,但是对于在bash中查找键映射的快速方法: br />
键入您感兴趣的键序列(例如Alt +→)。这将打印^[[1;3C

删除前导^[并替换为\e,以使\e[1;3C

将此值放入您的.inputrc文件中。

评论


某些键盘代码根本没有显示,例如 Shift + Enter 。如何通过Mintty / Windows / Cygwin找到这些键盘代码?

– CMCDragonkai
16年4月6日在12:06

#2 楼

您可以通过以下方式重新加载.inputrc文件:

bind -f ~/.inputrc




评论


这很有用,但实际上不是问题的答案-也许最好是作为其他答案的注释?

–马丁·汤普森(Martin Thompson)
17年1月12日在14:29

添加到上述@Tom的答案中

– dovetalk
17年5月20日在15:54

#3 楼

如果您希望某些在没有自定义环境设置的情况下可以工作的东西(例如,在服务器上的共享帐户上工作或只是为了限制所使用的自定义配置的数量),则Bash内置了可在Cygwin中使用的功能。 br />
即Alt + f向前移动,Alt + b反向移动。

http://www.gnu.org/software/bash/manual/html_node/Commands- For-Moving.html

评论


谢谢,尽管我知道这些键并确实使用它们。在方便时,我也只使用箭头键,而不希望他们喷出转义码,而不是做理智的事情并移动光标。

–汤姆
13年3月20日在22:23

#4 楼

当将rxvt与cygwin一起使用时,我发现此链接处的解决方案对我有用:control_arrow_keys_in_rxvt。

将以下行添加到~/.inputrc中:

评论


那是当附加层更改传输的密钥时(但它不能回答所问的问题)。

– Nikana Reklawyks
2012年11月3日在20:46

#5 楼

此解决方案也可以在msys2控制台中使用:

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


只需将这些组合键放在.inputrc文件中。