Для тех, кто не в курсе, zsh — это такой shell-интерпретатор, как bash и ему подобные. Привычка его ставить пошла от FreeBSD, где дефолтные tcsh и csh совсем не юзер-френдли, на мой взгляд. Может и их можно настроить до нормального уровня, но ведь настоящие герои всегда идут в обход.
Итак, в zsh можно включить достаточно мощный автокомплит просто «тыкнув пару кнопок» в консоли после первого запуска. Однако, по сравнению с большинством дефолтных поставок bash’а в разных дистрибутивах линукса, ему всё же не хватает цветастости. Но это дело легко поправимо, если добавить в файлик ~/.zshrc следующие алиасы:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 | # color if [ -x /usr/bin/dircolors ]; then test -r ~/.dircolors && eval "$(dircolors -b ~/.dircolors)" || eval "$(dircolors -b)" alias ls='ls --color=auto' alias dir='dir --color=auto' alias vdir='vdir --color=auto' alias grep='grep --color=auto' alias fgrep='fgrep --color=auto' alias egrep='egrep --color=auto' fi |
После этого необходимо перезапустить сеанс консоли (зайти заново в систему, запустить ещё одну копию zsh или перезапустить графический терминал — terminal, konsole, etc) и можно наслаждаться цветным выводом команд grep, ls и всего прочего описанного.
Не мог на этом просто взять и остановиться, ибо страдание фигнёй штука затягивающая. Дальше приделал следующую вещь:
1 2 3 | RPS1="(%*) %(?.:).:()" PS1="[$(print '%{\e[1;32m%}%n%{\e[0m%}@%{\e[1;36m%}%M%{\e[0m%}') %~]$ " |
Переменная PS1 отвечает за строку приглашения консоли и появляется левее от курсора, RPS1 — правее. Данный код выводит в левой части разукрашенное:
[имя_пользователя_@имя_хоста текущий/путь]$
Справа:
«(время) смайлик»
Просто вставить смайлик было бы глупо, поэтому это особенный смайлик. При успешном выполнении команды он улыбается, при неудачном — огорчается.
Дальше я решил что дел полно, а возиться с zsh можно вечно и пора бы уже остановиться. Если у кого-то вызовет любопытство кастомизация zsh, то можно расписать подробнее об этом.
P.S. Было бы интересно посмотреть на чужие конфиги.