![“inputrc”文件中键绑定的键名的一般格式是什么?](https://linux22.com/image/18498/%E2%80%9Cinputrc%E2%80%9D%E6%96%87%E4%BB%B6%E4%B8%AD%E9%94%AE%E7%BB%91%E5%AE%9A%E7%9A%84%E9%94%AE%E5%90%8D%E7%9A%84%E4%B8%80%E8%88%AC%E6%A0%BC%E5%BC%8F%E6%98%AF%E4%BB%80%E4%B9%88%EF%BC%9F.png)
据我所知,文件中键绑定的格式inputrc
是:
keyname: function-name or macro
对于键名,我看到了类似的内容:
"\e[B"
"\e[1~"
"\e[5D"
"\M-l"
"\C-[OD"
"\e\e[D"
这些键名的含义是什么?键名的一般格式是什么?请分享文档链接。
答案1
可以使用以下形式之一完成键绑定:
- 键名:命令名
- “按键序列”:命令名称
在第一种形式中,您可以拼出单个键的名称。例如,CONTROL-U 将写为 control-u。这对于将命令绑定到单个键非常有用。
在第二种形式中,您指定一个字符串来描述将绑定到命令的键序列。您给出的示例是 emacs 式反斜杠转义序列来表示特殊键
\C
- 控制
\M
- 元
\e
- 逃脱
您可以使用另一个反斜杠 – 来指定反斜杠\\
。同样, '
and"
也可以被转义 -\'
并且\"
更新
这些字符是您按下特殊键时终端所解释的字符。您不想在键绑定中绑定常规字母和数字,因为您可能会定期使用它们,并且当您不小心点击已映射到您~/.inputrc
或/etc/inputrc
文件中的组合时可能会导致问题。
[1~ is what is interpreted by your terminal when you press your HOME button.
要了解更多信息,只需输入read
终端提示符,然后按所有类型的特殊键,如功能键、HOME、END、箭头键等,然后查看显示的内容。
这里有一个小参考我发现这可以提供一些基本的理解。祝你好运! :)