Я провожу в терминале много времени, поэтому хочется, чтобы все было красиво, быстро и удобно.
Из этого рождается постоянное желание его настраивать, пробовать разные плагины.
Шеллом я выбрал для себя zsh лет 5 назад, пару лет назад нашел oh-my-zsh для его удобной настройки.
Со временем к этому конфигу добавились некоторые сбоку торчащие части в виде powerline и percol.
Недавно я решил пересобрать все так, чтобы избавиться от ненужных плагинов, добавить нужные, сделать легкую установку и обновление. В итоге появилась роль [ansible-role-zsh][1], которая полностью настраивает терминалы на локалке и на моих серверах.
* устанавливается одной командой (кроме шрифта и темы вашего терминального клиента)
* быстро загружается, быстро работает
* полностью настраивается через ansible, `~/.zshrc`
* полностью локальная (в систему ничего не ставится, все хранится в `~/.oh-my-zsh`)
* оставляет возможность юзеру вносить свои настройки через `~/.zshrc.local`
* одинаково работает на macOS, старом Debian, Ubuntu
* нормально выглядит на разных цветовых схемах (но лучше всего на Solarized Dark)
* встроенная подсветка синтаксиса (помогает реже ошибаться и лучше читать длинные команды)
* автодополнение по истории команд (помогает реже нажимать `Ctrl+R`)
* отображение времени для долго выполняемых команд (помогает реже использовать `time`)
Демонстрация фич за 1 минуту:
![][2] [Читать дальше →][3]
[1]:
https://github.com/viasite-ansible/ansible-role-zsh
[2]:
https://habrastorage.org/files/6f9/660/ea1/6f9660ea10c84be7872ea3ef68c80146.gif
[3]:
https://habrahabr.ru/post/323496/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut