有没有办法定义 bash readline 命令?

Big*_*eld 5 bash readline

我找不到从bash做到这一点的方法。那么有没有办法定义一个 bash readline 快捷方式,它将在光标位置插入一个动态生成的字符串?

例如,我想插入日期:

bind '"\C-xx": my-dynamical-date'

aaa  bbb
--------
    ^ cursor is here

# After pressing "\C-xx":

aaa Sun Apr 22 22:19:00 CST 2018 bbb
------------------------------------
                                ^ cursor is here
Run Code Online (Sandbox Code Playgroud)

那么如何定义 my-dynamical-date readline 命令呢?

Ark*_*zyk 8

有点傻,但它可能是这样的:

bind '"\C-xx":"$(date) \e\C-e\ef\ef\ef\ef\ef"'
Run Code Online (Sandbox Code Playgroud)

它首先输入一个文字$(date),然后调用shell-expand-line 然后向前移动 5 个单词。

要保存键绑定,请将以下内容添加到inputrc

"\C-xx":"$(date) \e\C-e\ef\ef\ef\ef\ef"
Run Code Online (Sandbox Code Playgroud)