web-dev-qa-db-ja.com

デフォルトのbashキーバインディングをオーバーライドする方法は?

私はこの設定ファイルを書きます:

# ~/.inputrc
Control-d: "\C-udate +'%F %T'\C-m"

入力時にdateコマンドを実行したい Ctrl-d
しかし、デフォルトの動作(exit)をオーバーライドすることはできません。
ご協力いただきありがとうございます。

3
kev

もしあなたがそうするなら stty -a、あなたはそれに気付くでしょう Ctrl-D ターミナルドライバのeof(ファイルの終わり)にバインドされます。 Bashバインディングが影響を与える前に、sttyを使用してバインドを解除する必要があります。私はあなたがそうすることをお勧めしません。別のキーストロークを選択することをお勧めします。私が使う Alt-Shift-D 同様の目的で。

"\eD":"date +%A,\ %B\ %-d,\ %Y,\ %-l:%M:%S\ %p,\ %Z\ \(UTC%z\)"

ラインの規律はreadlineよりも優れていると思います。実行してみてください

stty eof undef
3
garyjohn