Настройка моей оперативной строки Zsh

У меня есть небольшой файл .zshrc для настройки моего терминала, и я всегда хотел иметь интересную подсказку, помимо стандартной, но не очень-то старался ее изучить.

Итак, после некоторых исследований я выяснил основы того, как сделать мою маленькую подсказку полезной, не слишком подавляющей и не отвлекающей!

Вот как это выглядит:

Вы можете заметить, что у меня нет типичных вещей, таких как имя пользователя, имя машины или что-то еще, потому что… лично мне это не нужно. Но, прочитав это, вы сможете добавить это сами!

Что вводить

Если вы не знаете, как открыть ваш файл конфигурации, откройте его с помощью vim ~/.zshrc или code ~/.zshrc (или любого другого редактора, который вы предпочитаете).

Сначала добавьте эти две строки в .zshrc:

autoload -Uz vcs_info
precmd() { vcs_info }
Войти в полноэкранный режим Выйти из полноэкранного режима

Это загрузит систему контроля версий в ваш интерпретатор (вот документация по ней).

Затем нужно добавить следующую строку, которая устанавливает детали ветки Git в подсказку.

zstyle ':vcs_info:git:*' formats '%b '
Войти в полноэкранный режим Выйти из полноэкранного режима

Этот %b – переменная имени ветки. Я добавил пробел после нее для форматирования. Вы можете добавить туда другие переменные в строке (вот хороший блог с вариантами), например, информацию о тайниках, имя корневого каталога репозитория, staged changes и т.д.

Теперь добавьте эти две последние строки, чтобы собрать вашу подсказку воедино!

setopt PROMPT_SUBST
PROMPT='%F{green}%*%f %F{blue}%~%f %F{red}${vcs_info_msg_0_}%f$ '
Войти в полноэкранный режим Выйти из полноэкранного режима

Это выглядит довольно сложно, поэтому позвольте мне разложить все по полочкам.

Цвета!

Когда вы окружаете вещи %F и %f, это изменяет цвет переднего плана всего, что находится между ними. Цвет в {курчавые скобки} – это цвет, который редактируется. В данном случае вы можете видеть зеленый, синий и красный. Подобные вещи есть с %U и %u для подчеркивания, %K и %k для фоновых цветов, и многое другое (с документацией здесь, прокрутите до раздела “13.2.5 Визуальные эффекты”). По умолчанию ZSH понимает черный, красный, зеленый, желтый, синий, пурпурный, голубой и белый цвета!

Даты и время!

%*, которое вы видите – это время (в 24-часовом формате, с секундами). Есть и другие варианты, например, %W для даты. Документация по этому вопросу находится здесь, прокрутите страницу до “13.2.4 Дата и время”.

Каталог!

%~ показывает текущий рабочий каталог и путь к нему. Посмотрите раздел “13.2.3 Состояние оболочки” в документации, если вы хотите заменить его на что-то другое.

Переменная!

Теперь следующая часть – загрузка вашей переменной, ${vcs_info_msg_0_}. Это поместит вашу переменную ветви, которую мы создали ранее, в красную текстовую обертку.

Последняя $ в конце – это просто для того, чтобы привести пользовательский ввод. Вы можете заменить его на > или ; или WOW или на другие переменные, или на что угодно.

Конец!

Вот вся подсказка, которую вы можете вставить и настроить:

autoload -Uz vcs_info
precmd() { vcs_info }

zstyle ':vcs_info:git:*' formats '%b '

setopt PROMPT_SUBST
PROMPT='%F{green}%*%f %F{blue}%~%f %F{red}${vcs_info_msg_0_}%f$ '
Войти в полноэкранный режим Выйти из полноэкранного режима

Как только вы сохраните это, запустите source ~/.zshrc, чтобы загрузить его в терминал (или просто перезапустите терминал/откройте новую вкладку). Поскольку я люблю открывать и редактировать быстро, я добавил эти псевдонимы, чтобы сделать открытие и загрузку быстрее:

alias bp='vim ~/.zshrc'
alias sa='source ~/.zshrc;echo "ZSH aliases sourced."'
Войти в полноэкранный режим Выйти из полноэкранного режима

А теперь мир да ойста. Надеюсь, это было полезно для вас!

Оцените статью
Procodings.ru
Добавить комментарий