如何更改按键上的 readline 设置?

如何更改按键上的 readline 设置?

我检查了 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+ xControl+t

bind -v | grep expand-tilde
# outputs set expand-tilde on

详情见help bind

相关内容