Bash - Altキーの組み合わせでは、バインディングコマンドは機能しません。

Bash - Altキーの組み合わせでは、バインディングコマンドは機能しません。

bashのデフォルトコマンドを使用していますが、bindAltキーの組み合わせでは機能しないようです。

bind "M-q:echo 'hello'"

また、キーコードバージョンを試してみました。

bind "^[q:echo 'hello'"

Ctrlこのキーは+Vキーを押してから+を入力してAlt見つけることができますQ

sxhkd私はより良いキーバインディングサポートを持つ他のシェルを使用するなどの他の代替案を知っていますが、これを達成するためにbashを使用することを好みます。

ベストアンサー1

まあ、私は答えを見つけたようです。

bind '"\eq":"echo 'foobar'"'

Alt / Mのキーコードはどこにありますか\e?投稿の説明に従ってください。

これはコマンドを実行するだけで直接実行するわけではありません。必要に応じて、\n次のように最後に追加します。

bind '"\eq":"echo 'foobar'\n"'

Ctrl+Vこの場合、キーコードを見つけるための推奨方法(組み合わせを使用して実行)が機能せず、間違ったキーコードを提供するようです。ただし、bind -p既存のキーバインディングビューを使用することが問題を解決する良い方法です。

おすすめ記事