BashでControl-wを再マッピングする方法は?

BashでControl-wを再マッピングする方法は?

このフォーラムとは別の場所で同様の質問に対する回答をたくさん読んでいますが、うまくいきません。

単語を再マップしCtrlて削除しようとしています。W今後遅れるより。Esc+ doを使ってこれを行うことができることを知っていますが、Dこれは私にとっても学習の練習です。

私が読んだ内容に基づいて、以下を追加しました~/.inputrc

$include /etc/inputrc
Control-w: kill-word
  • 明らかに別のバインディングを含めるには、最初の行が必要です。
  • 2番目に試したコマンドControl-w"\C-w"試みたコマンドkill-wordについてshell-kill-word
  • bind -f ~/.inputrc変更を試してみるには、Ctrl+ XCtrl+をR試してからbash -l、単に新しい端末を開きました。

重要なステップを見逃しているか誤解しているようですが、アイデアが不足しています。

私はセントース8を使っています。

答え1

設定されたreadlineライブラリは、inputrc次のバインディングに対応するバインディングを設定します。ターミナルドライバ調理された入力用です。これはコマンドを使用して設定できるため、sttyキーとも呼ばれますstty。 +は、Ctrlおなじみのターミナルインターフェースから前のW単語()のバインディングを削除することです。werase

これらのバインディングが優先的に適用されます.inputrc。この動作をオフにするには、次の行を追加してください.inputrc

set bind-tty-special-chars off

デフォルト以外の調理済みターミナルキーバインディングを構成していない場合、sttyこれはbashバインディングに影響を与えないと思います。

関連情報