キーバインドでバックグラウンドでプロセスを開始します (Ctrl+Enter に `& disown` を追加します)

キーバインドでバックグラウンドでプロセスを開始します (Ctrl+Enter に `& disown` を追加します)

ターミナルの制御を維持したまま、コマンドラインから Chrome や Sublime Idea などを開きたいとします。

+またはその他の便利な組み合わせを& disown押したときに、Bash でコマンドに追加する方法はありますか?CtrlEnter

たとえば、それらのエイリアスを作成しようとしましalias subl='subl & disown'たが、引数を渡すことはもう機能せず、この方法で使用するすべてのプログラムにエイリアスを記述するのは面倒すぎます。もっとスマートな方法があるはずです。

答え1

あなたのコメントから:

を追加"\C-e": ' & disown\n'すると、 +.inputrcで必要な動作をします。 何らかの理由で、の代わりに を追加すると動作しません。Ctrle\ne

適切な文字列ではないと思います\nが、もっと大きな問題があります。コンソール自体はie +Enterなので、+ は単なる文字列であり、区別できません。\C-MCtrlMCtrlEnterEnter

ただし、EnterMeta (aka Alt)+ を区別することはできますEnter。次の行を に配置します.inputrc

"\C-\M-M":' & disown\n'

使用したいときはいつでもMeta (aka Alt)+ を押してください。Enter

答え2

私はそれを学んだ\rCtrl+と同じASCIIコードを共有しているためMCtrl+は+ +Enterと同等です。2回押しても意味がないので、xtermなしではターミナルで と を一緒に使用することはできません。CtrlCtrlMCtrlCtrlEnter翻訳

私はを追加することでCtrl+のトリックを実行することができました。E"\C-E": ' & disown\n '.inputrc

関連情報