是选项卡在隐式设置的 readline 设置中完成的键绑定。因为当我输出时
bind -q complete
我得到了这个回报
complete can be invoked via "\C-i", "\e\e".
提前致谢 :-)
有趣的是,当我打字时
bind -u complete
选项卡停止工作
答案1
文本终端只能识别字符,不能识别按键。因此,诸如 、Tab等特殊键必须按照字符进行编码。这BackspaceEnterASCII码所有现代字符集都基于的字符集,为控制字符。其中一个角色是标签。因为它是字符编号 9,并且I
是字母编号 9,所以按Ctrl+I相当于Tab在文本终端中按。
您可以通过在 shell 中执行以下操作来查看按键发送的字符或字符序列:
echo -n '
根据提示开始输入。- 按Ctrl+ V,它告诉 shell 您确实想要输入下一个字符,而不是将其视为编辑命令。
- 按您想要了解相关信息的键(或组合键,例如Shift+ )。Tab
- 输入
' | hexdump -C
并按Return。
您将看到密钥发送的十六进制字节的打印输出。字节 00 到 1f 是控制字符(^@
、^A
to ^Z
、^[
、^\
、^]
和;是通过按+获得的控制字符的常用表示法^^
)。^_
^x
Ctrlx