Readline:将破折号视为断字符

Readline:将破折号视为断字符

我希望 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行为(可能还有其他事情),所以对我来说最好的解决方案是在和中设置。we<c-w>stty werase undefbashrc\C-w: backward-kill-wordinputrc

相关内容