如何改变 shell 的单词分隔符的定义?

如何改变 shell 的单词分隔符的定义?

有没有办法改变 bash 中单词分隔符的定义?例如,这将允许我在此路径末尾执行 ctrl+w(删除上一个单词):

某些文件的/某些/路径/

其效果是仅file删除“ ”,而不是删除整个路径。

编辑:更清楚地说,删除单词只是一种可能的用法,但我对在单词之间移动等很感兴趣。此外,我希望能够将下划线和其他字符配置为分隔符,而不仅仅是斜线。

答案1

您无需重新定义或绑定任何内容。使用Alt+Backspace即可获得所需结果。

看:http://www.math.utah.edu/docs/info/features_7.html

要在单词之间移动,请使用Alt+ b, Alt+fb确认并F向前。这还将以 _ 作为分隔符。

答案2

是否可以配置 ctrl-w(删除单词)?

您应该能够使用 Esc,然后使用退格键来删除由斜线分隔的单词。

你可以通过将其放入 .bashrc 中来更改此设置:

bind '\C-f:unix-filename-rubout'

现在使用 Ctrl+f 来做你想做的事情。

相关内容