Bash

如何在 Bash 中重新映射 Control-w?

  • July 13, 2020

我已經在這個論壇和其他地方閱讀了許多類似問題的答案,但我無法讓它對我有用。

我正在嘗試重新映射Ctrl+W以刪除單詞向前而不是向後。我知道我可以使用Esc+ Ddo 來做到這一點,但這對我來說也是一個學習練習。

使用我已閱讀的內容,我在以下內容中添加了以下內容~/.inputrc

$include /etc/inputrc
Control-w: kill-word
  • 如果我想包含其他綁定,顯然需要第一行。
  • 對於第二個,我嘗試過Control-wand "\C-w",對於命令,我嘗試過kill-wordand shell-kill-word
  • 要嘗試我嘗試過的更改bind -f ~/.inputrcCtrl+ XCtrl+ Rbash -l只需打開一個新終端。

我假設我錯過了一些重要的步驟,或者只是被誤解了,但我已經沒有想法了。

我在 Centos 8 上。

readline 庫(即inputrc配置)設置與終端驅動程序綁定對應的綁定,以進行熟輸入。這些通常稱為 stty 鍵,因為它們可以使用命令進行配置sttyCtrl+是用於刪除熟終端界面中W前一個單詞( )的綁定。werase

這些綁定優先於.inputrc. 要關閉此行為,請將此行添加到您的.inputrc

set bind-tty-special-chars off

如果您尚未使用 配置非預設熟終端鍵綁定stty,我認為這不會影響您的 bash 綁定。

引用自:https://unix.stackexchange.com/questions/598222