Час від часу доводилось зустрічати дуже хороші відгуки про zsh. Поставив його, але таки часу не знайшов, щоби його наконфігати до більш-меншого того вигляду/функціоналу який маю зараз в bash.
Сьогодні ж, читаючи блог
одного програміста, знайшов цікаве посилання на
oh-my-zsh. Цей проект дозволив буквально за декілька хвилин налаштувати zsh і почати його використовувати замість звичного bash. Звісно він не містить всього того старого причандалля що зараз маю в bash, але є дуже хорошою основою для початку, для початку використання і зрештою вивчення.
Перші враження доволі хороші. Перш за все oh-my-zsh пропонує безліч тем. Серед них знайшов gentoo тему, яка дуже схожа до моєї поточної і завдяки цьому шел виглядає майже так само.
Дуже потужний автокомпліт. Звичайно автокомпліт працює для директорій, файлів тощо, але більше того він працює і для аргументів команд. Скажімо набираючи git puTAB, zsh запропонує і pull і push. Дуже сподобалась можливість переходу до раніше відвіданих директорій. Скажімо ввівши cd -TAB отримаємо нумерований список директорій, в яких були раніше. Відразу після TAB можна ввести цифру+Enter і відбудеться перехід до потрібної директорії.
Також дуже сподобалась шарова історія (shared history). Завдяки ось цим двом конфігураційним лінійкам (в .zshrc):
setopt share_history
setopt append_history
історія кожного процеса zsh буде доступною в усіх інших zsh-процесах.
Крім того oh-my-zsh дає можливість підключити різні плагіни. Скажімо підключивши плагін git, командна стрічка буде відображатися ось наприклад в такому вигляді (відображається поточний git branch):
demi@demi /some/long/path/google-translate (master*) $
Дослідження продовжуються!