"\M-\C-k": kill-whole-line
私のファイルを入れると、~/.inputrc
結果は"\213": kill-whole-line
(と表示されますbind -p
)です。
ただし、()\M-
に変更すると、キーバインディングが期待どおりに機能します。\e
"\e\C-k": kill-whole-line
Readlineを使用してキーバインディングを定義するとき\M-\C-
(「meta-control」)をプレフィックスとしてどのように使用しますかbash
?
答え1
\M-
故障して使用できません。続けて\e
Meta / Altプレフィックスを使用してください。
高いビットをオンにするか、UTF-8ロケールを使用する代わりにMeta / Altを押すと、ESC()文字の前にESC()文字を追加するターミナルエミュレータでは、readlineバインディングでの使用は安定して\M-
動作しません\x1b
(両方の言語は通常ほとんどの最新システム[1])。
いくつかのbashバージョンの場合(例えば5.0
、いいえ最新5.1
)、使用は\C-\M-
異なる動作をするため、代わりに\M-\C-
使用すると、次の更新まで実際に必要な操作が実行されます。 ;-)\C-\M-k
\M-\C-k
bash-5.0$ bind '"\C-\M-k": shell-backward-kill-word'
bash-5.0$ bind '"\M-\C-k": shell-kill-word'
bash-5.0$ bind -p | grep -a shell-.*kill-word
"\e\C-k": shell-backward-kill-word
"\213": shell-kill-word
[1]:しかし、いいえ。のxterm
ようなものが必要です。XTerm*VT100.metaSendsEscape: true
~/.Xresources