Bashの特定のキーに行連続操作をバインドする方法はありますか?
つまり、2つのキーを順番に押すのではなく、\
+のようEnterに2つのキーを同時に押すことです。AltEnter
代わりに、次のようになります。
$ echo one \
Enter
> two \
Enter
これを行う:
$ echo one
を押してからAlt+ Enter=を押してバックスラッシュと改行文字を取得し、
> two
Alt+ Enter-を押してバックスラッシュと改行文字などを取得します。
私はreadlineバインディングを見ましたが、そのような仕事が見つかりませんでした。言うまでもなく、この機能は私にとって非常に必要です。 :) ただ楽しいです。
答え1
バインディングコマンドを使用して、このような操作を実行できます。
bind '"\e[24~":"\\\n"'
F12
C-^Mをバインドする方法がわからないので使用しています。 bcos入力がCMである可能性はありませんが、次のものを使用できます。
bind '"\C-m":"\\\n"'
答え2
私はその中で答えを見つけました。Arch Linux Wiki- マクロを介して実行できます。
bind '"\e\C-m":" \\\C-j"'
Alt必要な機能を+EnterまたはAlt++の組み合わせにバインドします。Ctrlm
.bashrc
その後、この行をファイルに追加する必要があり、このバインディングは再起動後に機能します。
利用可能なマクロを表示するにはbind -s
:
$ bind -s
$ "\e\C-m": " \\\C-j"