Enter以下を使用してキーを正常にバインドしました。
function foo() {
echo 'Im a foo'
}
bind -m vi-insert -x '"\C-M": foo'
問題は、READLINE_LINEを受け入れられないことです。
Enterキーを外部コマンドにバインドし、同時に受け入れ行を送信するにはどうすればよいですか?
次のように改行文字を印刷しようとしています。
function foo() {
echo 'Im a foo'
printf "%b" "\n"
}
ただし、これはプロンプトの後に改行文字を印刷します。 READLINE_LINEは実際に承認されていません。
答え1
カスタム入力ハンドラでreadlineの標準のaccept-lineアクションを呼び出すことは不可能に見えるため、次のことができます。https://github.com/axiros/readline_proxy/