~/.inputrc で "\C-;" をバインドする方法は?

~/.inputrc で

私はEmacsで矢印とM-;バックスペースにMeta-ijklを使用しているので、bashのキーが同じスタイルを表すことを望みます。移動および削除操作は優れていますが、何らかの理由でカーソルから終了バッファーの先頭まで行全体を消去するこの操作をunix-line-discardバインドすることはできません。C-;コピー、削除、およびレプリケーションのデフォルトのemacsキーは、C-jおよびC-kなので、C-yこれには別のCの組み合わせがよく当てはまります。そして\e:(Meta-Shift-;)はすでににバインドされていますbackward-kill-word。基本的にはうまくC-uいきunix-line-discardますが、押すのは不便です。たとえば、この関数を再バインドすると\C-g正常に動作します。

私が~/.inputrc持っている

"\C-;": unix-line-discard

私も試しました

"\C-\;": unix-line-discard
"\C-\x3b": unix-line-discard

効果はありません。C-v C-;シェルでは、通常のセミコロン以外には何も印刷されず、\C-;すべてのバリアントもセミコロンのみを印刷します。

私はUrxvtで働いています。

ベストアンサー1

control;@meuhのコメントに同意します。端末は(通常)他のコードを生成しません。

これ協会@tijagiの提案はうまくいきますxtermが、うまくいきませんurxvt。マニュアルページではurxvtここから始めることができます。

   keysym.sym: string
       Compile frills: Associate string with keysym sym. The intervening
       resource name keysym. cannot be omitted.

そして、次のいずれかの設定を使用してください。

*keysym.Control-semicolon: mybinding
URxvt.keysym.Control-semicolon: mybinding

必要に応じてクラス名を使用して既存のリソースをオーバーライドし、私のバインディングurxvt入力するときに送信したいものは何でもありますcontrol;(ただし、正しい構文についてはマニュアルページをお読みください)。 @meuhは一般的ににバインドされているので\025()の使用を提案しました。^Uunix-line-discard

追加資料:

おすすめ記事