在使用PuTTY连接到远程"nano"实例时,数字键盘出现问题

13
我正在使用旧的Windows笔记本电脑上的PuTTYUbuntu通信。
当使用终端时,一切正常,我可以正常使用numpad。然而,当我打开任何nano文件时,所有这些键都有功能,而不是数字。
我搜索了一下,找到了一些更改PuTTY设置的解决方案,但它们没有任何效果。这是PuTTY还是nano的问题?

据我所知,Nano 对此没有任何偏好。这应该纯粹与程序(Nano)接收的输入有关。请尝试其他程序,并说一下它们的反应。例如,Vi(也是一个文本编辑器,但使用起来有点困难)。 - jonas_toth
关于“正常使用数字键盘”的问题:是否需要打开 Num Lock 键呢? - Peter Mortensen
2个回答

39

对于其他遇到类似问题的人 - 这是 PuTTY 特有的问题,是由应用程序键盘模式向 nano 发送转义序列引起的。

解决方法如下:

从打开的 PuTTY 终端开始:

  • Ctrl + 鼠标右键打开上下文菜单
  • 选择“更改设置...”
  • 在左侧导航树中选择 终端特性
  • 选中“禁用应用程序键盘模式”

参考: Vim (FANDOM.com ??) wiki 上有关此 Bug 的描述


谢谢!我不知道我做了什么让数字键盘 / 密码键盘停止工作,但这个方法解决了问题 - 非常感谢。 - h pic
虽然这很令人不安,但我在shell中做了这件事,它起作用了,但当它运行时,我不得不再次在nano中执行它。如何通过PuTTY检测程序的启动? - RedGlyph
什么类型的转义序列?针对光标键、PgUp、PgDn、Home等(对应着Num Lock未开启)?ANSI转义码 - Peter Mortensen
哇!你真是个救命稻草,这问题真的让我抓狂,而且很难打破通过小键盘快速输入数字的肌肉记忆。百分之百解决了这个问题,也明白为什么小键盘在其他地方都能用。 - Dizzixx

0

nano 使用 curses keypad 函数,将其打开(以便 curses 处理光标键)。终端描述打开应用程序模式,用于光标键和数字键盘,这使得 PuTTY 发送非数字内容。

您可以修改终端描述以删除 smkx 能力的数字键盘部分:

infocmp -1 >foo
vi foo
... look for smkx=\E[?1h\E=,
... change that to smkx=\E[?1h,
tic foo

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接