Bash - 绑定命令不适用于 alt 组合键

Bash - 绑定命令不适用于 alt 组合键

我正在使用bindbash 的本机命令,但它似乎不适用于 alt 键组合:

bind "M-q:echo 'hello'"

也尝试了关键代码版本:

bind "^[q:echo 'hello'"

Ctrl使用+V键然后输入Alt+可以找到此键Q

我知道其他替代方案sxhkd,例如使用具有更好的键绑定支持的其他 shell 等,但我更喜欢使用 bash 来实现这一点。

答案1

好吧,看来我设法找到了答案:

bind '"\eq":"echo 'foobar'"'

Alt/M 的键码在哪里\e,因此按照帖子描述的操作...

这只发布命令,并不直接执行它,但如果有人想要的话,只需要\n在最后添加,如下所示:

bind '"\eq":"echo 'foobar'\n"'

似乎查找键码的推荐方法(通过使用组合完成Ctrl+V)在这种情况下不起作用,并且给出了错误的键码。不过,使用bind -p查看现有的键绑定是解决问题的好方法。

相关内容