12

I am using the word split style shell (select-word-style shell). I like it in general but would like to split at forward slashes also, so that when I go forward/backward a word, if the word doesn't contain any /s, it completely skips over the word but if it does contain one or more slashes, it stops at the first slash.

Any ideas?

16

man zshall /forward-word /backward-word

echo $WORDCHARS
*?_-.[]~=/&;!#$%^(){}<>
WORDCHARS='*?_-.[]~=&;!#$%^(){}<>'  ;# without /
  • 1
    +1 I wonder why this is not the default. Paths are probably the single most used entity in a command line. – Mischa Arefiev Sep 19 '12 at 10:51
  • 1
    A more succinct version is WORDCHARS=${WORDCHARS//[\/]}. – James O'Gorman Sep 19 '12 at 14:24
  • 4
    even shorter WORDCHARS=${WORDCHARS/\/} – Nahuel Fouilleul Sep 19 '12 at 14:44
  • 2
    or WORDCHARS=$WORDCHARS:s:/: – Stéphane Chazelas Nov 17 '12 at 21:39

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.