我在工作中使用 PuTTY 管理 AIX 机器。我在 vi 模式下使用 ksh。当我按下 Delete 键(而不是退格键)时,后面字符的大小写会切换,而不是删除光标下的字符。我不一定想改变这种行为,因为这是一个非常重要的服务器,我只是不想做不必要的更改,但我想了解为什么会发生这种情况。
重现步骤。
- 输入一些文字:
根:通用> ls -al
- 将光标移到破折号上。([esc] hhh)
- 按下 Delete 键。([del])
- 奇怪的事情发生了:
根:通用> ls -AL
预期行为:光标下的字符被删除。
实际行为:以下字符的大小写被切换。
答案1
这是 ksh vi 模式下的默认行为。我建议,如果您想要删除,请尝试“x”键,因为这是在 vi 模式下删除字符的正确键。此外,“X”将删除所选键之前的键。
答案2
听起来 AIX 服务器对扫描码的定义与您运行 putty 的计算机不同,当您输入 delete 时,它会将其视为大写锁定。如果您在服务器上“修复”此问题,您可能会发现本地键盘无法按预期运行。但是,您可以尝试使用 putty 键盘设置(可能将 home 和 end 键更改为 rxvt,或将功能键和小键盘更改为 VT400)。
答案3
如果您要连接到 AIX 6 或 AIX 7,请在 Putty 连接设置下检查以下内容:
类别 ==> 终端 ==> 键盘
放:
Backspace 键改为“Control-H”选项
功能键和键盘为“XtermR6”
AIX 使用的“术语”定义和映射从 AIX 5 更改为 AIX 6+。
我在 AIX 6.1 TL7 和 AIX 7.1 TL1 上使用这些 putty 会话。我使用 AIX 5.3 的默认设置。