zsh - крылья в мире консоли

30 July 2009 #zsh#config

Я уже раза два пытался использовать командный процессор zsh в своей работе. Но все безрезультатно. Каждый раз что-то да не получалось. И я все время недоумевал, как удается настроить/использовать данный командный процессор другим? Причем все отзывы, которые я встречал о zsh были только самые положительные.

На днях опять мои мысли стали бродить вокруг zsh. И Alex Ott подтолкнул меня к изучению данного командного процессора, дав ссылки на свою статью Командный процессор Zsh. И хотя там описаны только основные возможности zsh, это меня подтолкнуло к поиску готовых конфигураций. Нашел у muhas. И взял за основу. Покопавшись в инете и поразбиравшись с предложенным конфигом, понял, что он является компиляцией других готовых конфигов, что ни сколько не умаляет его значимости и стоимости.

Около часа разбирался в конфигурации, причесывал ее и приводил к виду, пригодному для себя. В итоге получилось 4 файла, которые связаны между собой:

  1. .zshrc -- основной файл конфигурации zsh, из которого подгружаются дополнительные модули.
  2. .zsh_key -- файл, описывающий конфигурацию клавиатуры.
  3. .zsh_aliase -- файл, содержащий описание всех alias-ов
  4. .zsh_function -- содержит описание всех дополнительных функций, используемых в zsh.

Мне не нравиться менюшка, которую обычно включают для выбора варианта действия, поэтому в моем конфиге она отключена. Вместо нее используется только вывод вариантов, как в bash, но динамически. Затем я отключил по возможности все функции автокоррекции, не люблю, когда за меня решают, ошибся я или нет… Добавил своих алиасов, установил свое приглашение в командной строке.

Получилось примерно следующее:

Файл .zshrc:

Файл .zsh_key:

Файл .zsh_aliase:

Файл .zsh_function:

Основа вся muhas’а, с сохранением большей части его комментариев. Руки не дошли еще их подчистить. Но были удалены куча дубликатов в модулях zsh, ненужные вещи из описаний клавиш… Короче добавилось немного порядка. Правда тут еще работать и работать…

Однако уже сейчас стало гораздо удобнее! Из консоли просто не хочется вылезать…