модификация разбиения слова оболочки zsh

12

Я использую оболочку в стиле разделенного слова (select-word-style shell). В общем, мне нравится, но я хотел бы разделить и на косую черту, чтобы при переходе к слову вперед / назад, если слово не содержит ни одного / s, оно полностью пропускает слово, но если оно содержит один или больше слэшей, останавливается на первом слэше.

Есть идеи?

user23571
источник

Ответы:

18

man zshall /forward-word /backward-word

echo $WORDCHARS
*?_-.[]~=/&;!#$%^(){}<>
WORDCHARS='*?_-.[]~=&;!#$%^(){}<>'  ;# without /
Науэль Фуйе
источник
1
+1 Интересно, почему это не по умолчанию. Пути, вероятно, являются наиболее часто используемым объектом в командной строке.
Миша Арефьев
1
Более краткая версия WORDCHARS=${WORDCHARS//[\/]}.
Джеймс О'Горман
4
еще корочеWORDCHARS=${WORDCHARS/\/}
Науэль Фуйе
2
илиWORDCHARS=$WORDCHARS:s:/:
Стефан Шазелас
это только мне или ;не нужно? Я бы добавил '"'и "'"(одинарные и двойные кавычки) и~
Элиг