我搜索过,无法在任何地方找到解决方案.我正在使用
Windows中的PuTTY连接到运行bash和screen的各种服务器.似乎bash可以正常使用ctrl-arrow键在命令行上单词跳转,但在屏幕内它不起作用.不在屏幕上,ctrl-left发送“^ [OC和ctrl-right is”^ [OD“.在屏幕I中反而获得”^ [[C“和”^ [[D“,这似乎是仅仅的代码左/右箭头键.使用PuTTY时有没有办法让屏幕识别ctrl-arrow键?(仅供参考,我不记得在linux中使用gnu-terminal而不是PuTTY时遇到此问题).
更新:看起来PuTTY是问题,因为它没有发送为此工作所必需的转义码.我现在放弃并使用Cygwin mintty.
编辑:
这对我有用:
>我的〜/ .bashrc设置TERM = xterm(我好像是TERM = xterm-256colors)覆盖屏幕的TERM =屏幕
>我设置了PuTTY>终端>特征>禁用应用程序光标键模式进行检查
>我在Bash提示符下输入tput smkx
>现在Ctrl-Arrow键逐字跳转
>出于提供信息的目的,如果我这样做:
tput smkx | hexdump -c
我明白了
0000000 033 [? 1小时033 =
和
tput rmkx | hexdump -c
给我
0000000 033 [? 1 l 033>
我认为有一种方法可以将它改成更好的东西,但这是我到目前为止所做的并且似乎有效.
原始答案:
从信息屏幕:
Each window in a `screen’ session emulates a VT100 terminal,with some
extra functions added. The VT100 emulator is hard-coded,no other
terminal types can be emulated.
VT100没有Ctrl-Arrow键码.