Enterキーをバインドするときは、bash bin -xを使用して許可された行をreadlineに送信します。

Enterキーをバインドするときは、bash bin -xを使用して許可された行をreadlineに送信します。

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/

おすすめ記事