我检查了 readline 的文档(在 man bash 中),但找不到解决一个问题的方法:如何在按键时更改 readline 设置(设置...开/关)?
键绑定似乎具有以下形式:
key:function
或者
key:"string to enter"
但是当我尝试时:
key:set .... off
它不起作用。
答案1
您可以使用带选项bind
的内置命令-x
。
bind "set var val"
bind -x keyseq:command
可以使用在输入 keyeq 时执行的 Cause 命令来设置变量,
所以bind -x 'keyseq:bind "set var val"'
工作正常。
例子:
bind 'set expand-tilde off'
bind -v | grep expand-tilde
# outputs set expand-tilde off
bind -x '"\C-x\C-t": bind "set expand-tilde on"'
按Control+ x、Control+t
bind -v | grep expand-tilde
# outputs set expand-tilde on
详情见help bind