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

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

我在这个论坛和其他地方阅读了许多类似问题的答案,但我无法让它为我工作。

我正在尝试重新映射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 上。

答案1

readline 库(它是inputrc配置的)设置与绑定的绑定相对应的绑定终端驱动程序用于煮熟的输入。这些通常称为 stty 键,因为它们可以使用命令进行配置sttyCtrl+是在熟终端界面中W删除前一个单词 ( ) 的绑定。werase

这些绑定优先于.inputrc.要关闭此行为,请将此行添加到您的.inputrc

set bind-tty-special-chars off

如果您尚未使用 配置非默认熟终端键绑定stty,我认为这不会影响您的 bash 绑定。

相关内容