Solaris ssh ctrl 箭头键不起作用

Solaris ssh ctrl 箭头键不起作用

我使用 putty 通过 ssh 连接到 SunOS 5.11 11.3 机器。

在终端中 ctrl + 箭头键不会将光标移动到上一个/下一个单词。

Solaris 机器上有简单的 bash 终端。

你知道如何解决这个问题吗?

过去我有过这个问题并已经应用了解决方案(将 putty 中的终端类型字符串设置为“linux”),但现在我也希望箭头键起作用。

答案1

PuTTY 不这样做。它是 xterm 的一项功能,也是 PuTTY 未提供的 xterm 的众多功能之一:根据是否同时按下Control和/或键发送不同的转义序列。Shift

ncurses 中通过扩展终端描述(不是传统 X/Open 或 SVr4 terminfo 的一部分)支持光标键的 xterm 样式修饰符。但是,在这种情况下,PuTTY 不会实现 xterm 样式的修饰符。长期以来,都是通过Shift按键来切换普通的应用光标键的模式,最近将修饰符更改为Control键:

提交 41e1a586fb956539a74bc446984a100e0138cd77                                 
作者:西蒙·塔瑟姆                                          
日期:2018 年 12 月 8 日星期六 08:25:32 +0000

     - 在正常(ESC [ A)和应用程序之间交换箭头键         
       (ESC OA) 现在是通过按 Ctrl 键来完成的,而不是通过           
       按 Shift 键。这就是它应该如何工作的方式,并且         
       它在 GTK 上一直是如何工作的,但在 Windows 上它是由       
       自 2010 年以来,由于调用站点的错误,也发生了转变               
       format_arrow_key() 在我最初编写该函数时引入。

但这并没有改变逃脱使用的顺序。在更改评论中,ESC [ A指正常模式向上箭头,并且ESC O A到应用程序模式向上箭头。

ncurses 提供了准确的终端描述油灰,但在这种情况下,终端描述是无关紧要的,因为巴什.inputrc(桀骜做得好一点,但在这方面还缺乏——参见xterm 手册)。即使假设巴什使用终端描述,该信息不可用巴什因为终端描述的名称无法使用 termcap 应用程序读取(例如巴什)。如上所述,桀骜好一点,但是读不懂扩展

使用

infocmp -x xterm

您可能会注意到kLFT5, kRIT5, kUP5, kDN5(这是为控制修改的光标键指定的名称 - 所有扩展名),但您不会在putty终端描述,因为 PuTTY 不这样做。

相关内容