如何确保远程主机在 Putty 会话中将 ctrl-h 不视为退格键?

如何确保远程主机在 Putty 会话中将 ctrl-h 不视为退格键?

我在启用从 putty 到 linux 远程主机的快捷方式(用于 tmux 和 vim)时遇到问题ctrl-h。准确地说,我认为ctrl-h确实发送了。为了确认,当我输入 时ctrl-vctrl-h我得到了^H。(退格键可以用作 ^?,因为我已经在使用了stty erase ^?。)

但是在终端中,ctrl-h仍然被解释为退格键。

是否有人知道该问题以及如何解决ctrl-h退格键问题?

谢谢。

答案1

您使用的终端程序决定了退格键发送的代码,通常是 ^H 或 ^? (DEL)。其值在其设置或首选项中设置,通常在提及键盘的选项卡或下拉菜单中,但每个终端程序都有自己的定义方式。

tmux 有一个配置值,,backspace key其中key可以是^?。请注意,tmux 在您的终端程序中运行。

当你 ssh 到一台机器时,TERM 环境变量会被设置为该机器认为的你的终端,它定义了使用哪些功能或键码来执行诸如向右或向左或向上或向下移动等操作。Backspace 就是其中之一,要查看其值,请输入tput kbs | cat -v。这可能仍然与你的 tmux 设置不同。

混合使用这些设置并不是一个好主意,而且 ^H 在 ASCII 定义中是退格键。强制设置通常没有必要,并且可能会导致其他未使用您的设置的人通过 ssh 进入同一台机器时出现问题。

相关内容