有没有办法改变 bash 中单词分隔符的定义?例如,这将允许我在此路径末尾执行 ctrl+w(删除上一个单词):
某些文件的/某些/路径/
其效果是仅file
删除“ ”,而不是删除整个路径。
编辑:更清楚地说,删除单词只是一种可能的用法,但我对在单词之间移动等很感兴趣。此外,我希望能够将下划线和其他字符配置为分隔符,而不仅仅是斜线。
答案1
您无需重新定义或绑定任何内容。使用Alt+Backspace即可获得所需结果。
看:http://www.math.utah.edu/docs/info/features_7.html
要在单词之间移动,请使用Alt+ b, Alt+fb确认并F向前。这还将以 _ 作为分隔符。
答案2
您应该能够使用 Esc,然后使用退格键来删除由斜线分隔的单词。
你可以通过将其放入 .bashrc 中来更改此设置:
bind '\C-f:unix-filename-rubout'
现在使用 Ctrl+f 来做你想做的事情。