我想映射Ctrl- w以kill-region
在猛砸4.2.unix-word-rubout
默认情况下,此键绑定(向后删除单词).根据手册,可以使用bind
具有选项的命令重新映射
-u function取消绑定绑定到指定函数的所有键.
-r keyseq删除keyseq的所有当前绑定.
我试过了bind -r "\C-w"
,bind -u unix-word-rubout
但关键不是没有设置,正如所bind -P | grep unix-word-rubout
揭示的那样,映射没有变化.
我玩bind
了一点,我能解开其他内置键,但不是Ctrl- w.
Pau*_*ce. 14
Ctrl- w在被绑定stty
到werase
.你需要先解开它.
stty werase undef
bind '"\C-w":kill-region'
Run Code Online (Sandbox Code Playgroud)
mha*_*ger 13
默认情况下,readline尝试将内核终端驱动程序专门处理的控制字符绑定到其readline等效项.(要查看终端的配置方式,请运行
stty -a
Run Code Online (Sandbox Code Playgroud)
.)你的终端可能已经Ctrl-w
设置为werase
,所以bash绑定它unix-word-rubout
.此绑定优先于您指定的任何键绑定~/.inputrc
.
为了避免这种映射,你需要readline的变量设置bind-tty-special-chars
到off
您的~/.inputrc
文件中:
set bind-tty-special-chars off
Run Code Online (Sandbox Code Playgroud)