通过 PuTTY telnet 在 AIX ksh 中删除密钥

通过 PuTTY telnet 在 AIX ksh 中删除密钥

在我工作的地方,我们正在 AIX 下使用 ksh 进行开发,并通过telnet.大多数人使用 ArcTel 进行连接,而我更喜欢 PuTTY。我使用 PuTTY 遇到的唯一问题是按键Del不起作用 - 它[3~只是打印。有趣的是,在 ArcTel 中正常运行。

我尝试查看 ArcTel 设置,发现它只有一个开关,称为“退格和删除”:它可以是“正常”或“VNS 样式”。我已正常打开(并且 Del 按预期工作)。在 PuTTY 中,我尝试调整键盘设置,但找不到可以实现Del我想要的功能的组合。

有没有办法在 PuTTY 中实现此功能?也许重新映射[3~我的角色.profile?但我不想在 KSH 中切换 Vi 模式。

答案1

我使用 putty 连接到 AIX 没有任何问题。我的 .profile 有

stty erase ^?

我的腻子设置在控制中选中了终端键盘“退格键”? (127)

答案2

我不确定 AIX 的 ksh 是否支持自定义键绑定。我在 AIX 手册中找不到它们的记录,但我认为这是一个标准 ksh 功能。尝试为\e[3~(其中\e是转义字符)设置绑定。如果有效,您也可以为其他组合键设置绑定。

KEYBD_handler () {
  case ${.sh.edchar} in
    $'\e[3~') .sh.edchar=$'\004';;
  esac
}
trap KEYBD_handler KEYBD

( $'\004',即Ctrl+D,是标准捆绑删除下一个字符。)

可以通过更改终端定义来解决此问题术语信息。我不知道如何在 AIX 中执行此操作。

相关说明,您可能需要将 PuTTY 配置为发送正确的字符Backspace,或根据需要在 AIX 计算机上运行stty erase '^?'或,或更改 terminfo 定义以匹配。stty erase '^h'

相关内容