![Readline:将破折号视为断字符](https://linux22.com/image/90721/Readline%EF%BC%9A%E5%B0%86%E7%A0%B4%E6%8A%98%E5%8F%B7%E8%A7%86%E4%B8%BA%E6%96%AD%E5%AD%97%E7%AC%A6.png)
我希望 Readline 将用破折号分隔的单词视为单个单词,就像 Vim 默认情况下一样。
例如,如果我在下面一行的末尾并且输入ctrl-W
cp long-filename-with-dashes
Readline 只会删除dashes
而不是整个字符串,直到空格为止。
有没有办法在不破坏其他东西的情况下配置它?
答案1
我能够通过以下两行实现所需的行为bashrc
:
stty werase undef
bind '\C-w: backward-kill-word'
但仍然不知道可能的副作用。
编辑:我找到了正确的方法来设置它,而inputrc
无需触摸并bashrc
求助于stty
本文:
set bind-tty-special-chars Off
$if Bash
\C-w: backward-kill-word
$endif
更新:看起来破坏了 Vim 中和的bind-tty-special-chars
行为(可能还有其他事情),所以对我来说最好的解决方案是在和中设置。w
e
<c-w>
stty werase undef
bashrc
\C-w: backward-kill-word
inputrc