bind
将按键绑定到 Readline 的函数或宏,或设置 Readline 变量的值。不带选项的参数的语法与 ~/.inputrc
文件中的语法相同,但是仅可以传递单个参数,不可以同时 bind 多个参数。
例如:
bind '"\C-x\C-r": re-read-init-file'
bind '"\C-l":clear-screen'
bind '\C-l:clear-screen' # 绑定函数时键序列可以不用 " 括起来,但是绑定 shell 命令时(即使用了 -x 选项时)必须将键序列用 " 括起来
选项:
-
-m keymap
使用KEYMAP作为此命令持续时间的键映射。可接受的键映射名称包括emacs、emacs标准、emacs meta、emacs ctlx、vi、vi move、vi命令和vi insert。# 执行 emacs 按键绑定 bind -m emacs
-
-l
列出函数的名称。# 列出 bind 支持的 readline 函数 bind -l
-
-P
列出函数名和绑定。# 列出 readline 函数的按键绑定情况 bind - P
-
-p
以可重复用作输入的形式列出函数和绑定。# 列出 readline 函数的按键绑定情况(与 -P 不同的是,该选项的显示格式可以直接用于 bind 绑定) bind -p
-
-S
列出和宏表达式绑定的按键情况# 列出 readline 宏表达式的按键绑定情况 bind -S
-
-s
列出和宏表达式绑定的按键情况,其形式可重复用作输入。# 列出 readline 宏表达式的按键绑定情况(与 -S 不同的是,该选项的显示格式可以直接用于 bind 绑定) bind -s
-
-V
列出变量名称和值# 列出 readline 的变量及其值 bind -V
-
-v
以可重复用作输入的形式列出变量名称和值。# 列出 readline 的变量及其值(与 -V 不同的是,该选项的显示格式可以直接用于 bind 绑定) bind -v
-
-q function-name
查询哪些按键可以调用函数 function-name。# 查询清屏的键绑定 bind -q clear-screen
-
-u function-name
取消绑定到函数 function-name 的所有按键。# 解除清屏的键绑定 bind -u clear-screen
-
-r keyseq
移除按键 keyseq 的绑定。# 解除键序列 Ctrl-l 上的绑定 bind -r "\C-l"
-
-f file
从 file 中读取按键绑定。# 从 ~/.config/.inputrc 文件读取按键绑定 bind -f ~/.config/.inputrc
-
-x keyseq:shell-command
绑定按键 keyseq 到 shell-command,其中 shell-command 表示 shell 支持的命令# 将 Ctrl-l 绑定到 shell 命令 ls -l bind -x '"\C-l":ls -l'
-
-X
以可重复使用作为输入的形式列出与-x和相关命令绑定的键序列。# 列出使用 bind -x 绑定的按键序列 bind -X