bash / word seperators

Tony Nelson tonynelson at georgeanelson.com
Wed May 10 16:43:40 UTC 2006


At 6:17 PM +1000 5/10/06, Cameron Simpson wrote:
>On 09May2006 22:22, Tony Nelson <tonynelson at georgeanelson.com> wrote:
>| >| Man bash shows "COMP_WORDBREAKS" as the relevent variable to set.  (Don't
>| >| unset it.)  See "man bash", and search for "readline".  So:
>| >|     COMP_WORDBREAKS=$COMP_WORDBREAKS/
>| >| does it.  To have it every time, put that line in ~/.bashrc.
>| >
>| >Seems to have no effect for me. I'm testing with bash-3.0 on Fedora Core
>| >4. Should I expect this to affect ^W? One reason I prefer zsh is that
>| >it will stop ^W at a slash, which I find very useful.
>|
>| Don't know.  It affects Ctrl-Left Arrow here.  I don't use Ctrl-W.
>| Have you printed COMP_WORDBREAKS to make sure it's set properly?
>
>Yep:
>
>	[~]zoob*> echo $COMP_WORDBREAKS
>	"'@><=;|&(:/
>
>Control left-arrow seems to do nothing at all for me.

Are you using gnome-terminal or are you in a console or what?  In a
console, use M-b (ESC-b).

I was rather confused about COMP_WORDBREAKS, and I now see that it only
applies to Readline's Programmable Completion.  You don't need to change it
for what you want to do.

Man bash shows that C-w is bound by default to unix-word-rubout, which uses
whitespace as the delimiter, not COMP_WORDBREAKS.  You may wish to bind C-w
to unix-filename-rubout instead, or switch to using M-Rubout
(ESC-Backspace).  See man bash.
____________________________________________________________________
TonyN.:'                       <mailto:tonynelson at georgeanelson.com>
      '                              <http://www.georgeanelson.com/>




More information about the users mailing list