modyfikowanie podziału słowa powłoki zsh

12

Używam powłoki w stylu podziału słów (powłoka w stylu „wybierz słowo”). Ogólnie podoba mi się, ale chciałbym również rozdzielać ukośniki, aby gdy przechodzę słowo do przodu / do tyłu, jeśli słowo nie zawiera żadnych znaków, całkowicie pomija słowo, ale jeśli zawiera jedno lub więcej ukośników, zatrzymuje się przy pierwszym ukośniku.

Jakieś pomysły?

użytkownik23571
źródło

Odpowiedzi:

18

man zshall /forward-word /backward-word

echo $WORDCHARS
*?_-.[]~=/&;!#$%^(){}<>
WORDCHARS='*?_-.[]~=&;!#$%^(){}<>'  ;# without /
Nahuel Fouilleul
źródło
1
+1 Zastanawiam się, dlaczego to nie jest domyślne. Ścieżki są prawdopodobnie najczęściej używaną jednostką w wierszu poleceń.
Mischa Arefiev,
1
Bardziej zwięzła wersja to WORDCHARS=${WORDCHARS//[\/]}.
James O'Gorman,
4
jeszcze krótszyWORDCHARS=${WORDCHARS/\/}
Nahuel Fouilleul,
2
lubWORDCHARS=$WORDCHARS:s:/:
Stéphane Chazelas,
czy to tylko ja, czy ;nie jest potrzebne? Dodałbym '"'i "'"(pojedyncze i podwójne cytaty) i~
elig