Разница в слове вперед / назад между bash и zsh - PullRequest
0 голосов
/ 17 марта 2020

После перетаскивания в 21-й век macOS Catalina теперь использует по умолчанию zsh вместо bash для своей оболочки, я пытаюсь восстановить некоторые свойства bash редактирования строки. В частности, если я нахожусь в конце строки:

bash$ ls /foo/bar/baz

и нажимаю Alt-Left Arrow, курсор переходит на «baz», затем «bar», затем «foo». Он трактует sla sh как разделитель слов, как и большинство сред (таких как Safari и приложения, использующие функции редактирования текста Какао).

В zsh, когда я пытаюсь сделать то же самое первая стрелка Alt-Left переместит курсор назад к началу «/ foo / bar / baz», что делает его гораздо менее полезным для непосредственного редактирования частей long.

Может ли это быть настроен в zsh? Если да, то как?

1 Ответ

1 голос
/ 18 марта 2020

Символы в zsh переменной WORDCHARS считаются частью слова.

Вам просто нужно удалить / из него

% echo "$WORDCHARS"
*?_-.[]~=/&;!#$%^(){}<>
% WORDCHARS="${WORDCHARS/\//}"
# Now Alt-left-arrow will stop at /

Просто имейте в виду, что $ WORDCHARS используется в других ситуации также. Смотри man zshall

...