.inputrc覆盖Control+W

4
我如何在我的.inputrc中覆盖bash中的Control+W?仅仅使用以下内容并不起作用:
"\C-w": forward-word

当我添加stty werase undef时,它确实起作用,但是然后's'键神秘地失灵了!

1个回答

7
您需要在您的 .inputrc 文件中使用选项 set bind-tty-special-chars Off,以便像那样绑定 ^W。原因是:

自版本5.0开始,Readline 读取 stty 特殊字符设置并将它们绑定到每次调用 readline() 的 readline 等效项 来自 bug-bash 邮件列表

bind-tty-special-chars 选项是在5.1中引入的,以解决这个“特性”。Readline Changes - 搜索该选项。
set bind-tty-special-chars Off
"\C-w": forward-word

略微老派的方法涉及像 .bashrc 这样的文件:
stty erase undef
bind '"\C-w": forward-word'

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接