在我工作的地方,我们正在 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'