readline: unix-word-rubout、しかしその逆も可能ですか?

readline: unix-word-rubout、しかしその逆も可能ですか?

.inputrcリバース実行を設定しようとしていますが、unix-word-rubout現在は設定できません。
私はすでにM-w私のものです.inputrc

これはうまくいきません:

"\eu": universal-argument
"\ew":  "\eu-1\C-w"

これも同様です。

"\ew":  "\e-1\C-w"

followを押してシェルから対話的にM--これを実行することもできませんC-w。つまり、カーソルの左側にある単語を削除し続けます。

C-wPS私は他のkill / rubout readlineコマンドがあることを知っていますが、スペースを区切り文字として使用して単語を逆さまに殺すという動作を本当にしたいと思います。

答え1

つまり、次の行を追加してください~/.inputrc

"\ew": kill-region
"\ea": '\e \C-] \ew'

wと文字aは必要に応じて変更できます。

どのように動作しますか?

kill-region次のように、readlineコマンドにキーシーケンスを割り当ててみましょうAltw

"\ew": kill-region

次に、次のマクロを別のシーケンスに割り当ててみましょう。たとえば、次のようになりますAlta

"\ea": '\e \C-] \ew'

以下を行います。

\e<SPACE>:

カーソル位置にマーカーを設定します。

\C-]<SPACE>:

スペースを検索し、そこにカーソルを移動します。

\ew:

キル表示とカーソルの間の領域

関連情報