如何找出给定按键生成的字符代码?

问题描述 投票:0回答:2

我正在研究 zsh 键映射。我了解如何使用

bindkey
命令 创建映射,但我并不总是确定“字符串中”应该是什么。

例如,我想为 Option+ 创建绑定。 (我正在使用 OS X 终端应用程序,并且设置了“使用 Option 作为元键”选项。)是否有一些命令我可以调用,然后输入 Option+ 以查看终端认为它是什么代码得到? (Ask Ubuntu 上的这个问题问的是同样的事情,但问题和答案中提到的实用程序似乎在 OS X 上不可用。)

我觉得我应该能够输入 Ctrl+V 然后输入 Option+ 以获得此关键代码的字面版本,但是当我这样做时,我会被踢回到上一个历史条目(如果我自己输入 就会发生这种情况)。当我在此之后按 键时,我可以看到文字

^[
字符已插入到命令行中,但后面没有任何内容。

一般来说,我可以在哪里找到给定的键或和弦生成哪些代码?

terminal zsh
2个回答
3
投票

我通常输入

cat
cat > /dev/null
(我有一个别名)来查看键入按键时会出现什么。以 Enter 结束,然后按 Ctrl+D。您可能也更喜欢
cat | hd
示例:

$ cat | hd
^[[A
00000000  1b 5b 41 0a                                       |.[A.|
00000004

0
投票

您可以使用

showkey -a
来捕获按下的按键。

$ showkey -a

Press any keys - Ctrl-D will terminate this program

^[[1;5F          27 0033 0x1b
         91 0133 0x5b
         49 0061 0x31
         59 0073 0x3b
         53 0065 0x35
         70 0106 0x46
^[[1;2A          27 0033 0x1b
         91 0133 0x5b
         49 0061 0x31
         59 0073 0x3b
         50 0062 0x32
         65 0101 0x41
© www.soinside.com 2019 - 2024. All rights reserved.