GNU/Linux >> Linux の 問題 >  >> Linux

Control-wをBashで再マップする方法は?

このフォーラムと他の場所の両方で同様の質問に対する多くの回答を読みましたが、それをうまく機能させることはできません。

Ctrlを再マップしようとしています + W forwardという単語を削除するには 後方ではなく。 Escを使用できることを知っています + D これを行いますが、これは私にとっても学習演習です。

私が読んだものを使用して、〜/ .inputrcに以下を追加しました :

$include /etc/inputrc
Control-w: kill-word
  • 他のバインディングを含めたい場合は、明らかに最初の行が必要です。
  • 2回目は、 Control-wを試しました。 および"\C-w" 、そしてコマンドについては、 kill-wordを試しました およびshell-kill-word
  • 変更を試すために、 bind -f〜/ .inputrcを試しました 、 Ctrl + X Ctrl + R bash -l <​​/ code> 新しいターミナルを開くだけです。

重要なステップを逃したか、単に誤解したと思いますが、アイデアが不足しています。

私はCentos8を使用しています。

承認された回答:

readlineライブラリ(これは inputrc configures)クックされた入力用のターミナルドライバーのバインディングに対応するバインディングを設定します。これらは、コマンド stty で構成できるため、一般にsttyキーと呼ばれます。 。 Ctrl + W 前の単語を削除するためのバインディングです( werase )調理済み端末インターフェースで。

これらのバインディングは、 .inputrcの明示的なバインディングよりも優先されます 。この動作をオフにするには、この行を .inputrcに追加します :

set bind-tty-special-chars off

sttyを使用してデフォルト以外のクックされたターミナルキーバインディングを構成していない場合 、これはバッシュバインディングには影響しないと思います。


Linux
  1. LinuxでBashプロンプトを短縮する方法は?

  2. Bashスクリプトで文字列を分割する方法

  3. Bashで文字列を連結する方法

  1. Bash履歴コマンドの使用方法

  2. BashでCSVファイルを解析するには?

  3. 方法:無制限の Bash/シェル履歴?

  1. Bashスクリプトをデバッグする方法は?

  2. バッシュを検出する方法>=4.0?

  3. Bash でコマンドのグループをタイムアウトする方法