unix:hpux 和/或Solaris 上的波形符

unix:hpux 和/或Solaris 上的波形符

在 Linux 上按 F9 返回正确的值

~

在 UNIX(Solaris 或 hpux)返回时

0~

如何在这些系统上设置正确的波浪号?

答案1

功能键可以由窗口管理器或终端仿真器解释(例如,您会发现 F11 通常会最大化窗口)或作为 VTxxx 或 ANSI 转义序列传递到程序。

Linux 和 Solaris 上的 F9 通常发送ESC[20~.根据软件的版本,bashorksh会将其解释为0~~。另一方面,如果您的 shell 是 dash,它不进行任何行编辑,您将看到^[[20~.

要使 F9 发送~

如果您使用的是 X(在美国布局键盘上测试):

xmodmap -e "keycode 75 = asciitilde"

在 Linux 控制台上,运行showkey以查找 F9 的键码。在我的系统上,它是 67。然后运行此命令(您可能需要 root 身份):

echo "keycode 67 = asciitilde" | loadkeys

在 Solaris 10 控制台上,运行showkeys | more以查找 F9 的密钥表条目。在我的带有虚拟 USB 键盘的虚拟机上,它是key 66 all tf(9).然后创建一个包含以下内容的文件:

key 66 all ~

并运行loadkeys /path/to/file

答案2

我不知道是什么让您认为 F9 返回波浪号是“正确的”,但如果您想要波浪号,则应该使用波浪号键。

根据您使用的客户端硬件、客户端软件、服务器端软件以及服务器端硬件的差异,功能键大多是未定义的。

答案3

首先找到的解决方案必须按

CTRL+V and key

就我而言是 F9 所以我这样做了

CTRL+V F9

并返回这个

^[[20~

现在我知道是键 20 并且我将它绑定到波形符

bind '"\e[20~":"~"'

我尝试按 F9 并返回波形符,我将其放入 $HOME/.profile 中以进行永久更改

相关内容