Повысьте продуктивность с помощью обновленного zshrc и нескольких плагинов

Недавно я установил Manjaro Linux, чтобы протестировать программное обеспечение, над которым я работаю. Одна вещь, которая меня впечатлила, заключалась в том, насколько быстро терминал был готов к работе и как здорово он выглядел.

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

Быстрая настройка

Посмотрим правде в глаза, одна из основных причин, по которой мы настраиваем наш терминал, - это чтобы он выглядел круто. На мой взгляд, оболочка Manjaro выглядит намного лучше, чем оболочка macOS по умолчанию.

Вот сравнение подсказок:

Обратите внимание на выноску > и использование цвета.

Любое приглашение Unix можно изменить, установив в переменной среды PROMPT нужную строку. Например, при вводе PROMPT="blah >" появится подсказка blah >.

Манджаро использует несколько приемов, чтобы получить цвета:

PROMPT="%B%{$fg[cyan]%}%(4~|%-1~/.../%2~|%~)%u%b >%{$fg[cyan]%}>%B%(?.%{$fg[cyan]%}.%{$fg[red]%})>%{$reset_color%}%b "

Не стесняйтесь настраивать под свои нужды!

Manjaro также выводит некоторую информацию о версии. Это достигается с помощью простой команды echo. Я адаптировал это, чтобы использовать информацию, специфичную для macOS:

echo $USER@$HOST  $(sw_vers -productName) $(sw_vers -productVersion) \($(sw_vers -buildVersion)\)

Если вам нужна сверхчистая оболочка, вы можете опустить это или использовать echo $USER@$HOST $(date) для печати даты.

Подсветка синтаксиса

Конфигурация Manjaro zsh также включает подсветку синтаксиса. Это окрашивает определенные ключевые слова в выводе.

Чтобы это работало, необходимо установить плагин zsh-syntax-highlighting. Для этого я использую Homebrew:

brew install zsh-syntax-highlighting

Соответствующая строка в конфигурации zsh:

source $(brew --prefix)/share/zsh-syntax-highlighting/zsh-syntax-highlighting.zsh

Состояние Git

Есть много способов отобразить состояние git в zsh, включая этот плагин. Лично мне нравится способ Manjaro, в котором ветка и статус выровнены справа от приглашения оболочки, как показано ниже.

Здесь develop сообщает нам имя ветки, а желтый кружок указывает на наличие неустановленных изменений.

Для этой работы в конфигурацию включен большой объем кода, поэтому я не буду вдаваться в подробности здесь. Однако ссылка на мою полную конфигурацию zsh находится внизу этой статьи.

Авто-предложения

Наверное, моей самой любимой особенностью этого конфига является включение плагина zsh-autosuggestions. На анимации ниже показано, как это можно использовать для ввода предыдущих команд всего несколькими нажатиями клавиш.

Это огромная экономия времени. Соответствующая строка для включения в .zshrc:

source $(brew --prefix)/share/zsh-autosuggestions/zsh-autosuggestions.zsh

Собираем все вместе

В Manjaro zshrc есть функции, которые я здесь не описывал, однако оставлю их для изучения читателем.

Для работы zshrc необходимо установить следующие плагины:

brew install zsh-autosuggestions 
brew install zsh-syntax-highlighting 
brew install zsh-history-substring-search

Затем вам нужно создать резервную копию существующего .zshrc, если он у вас есть:

cp ~/.zshrc ~/Desktop/zshrc.bak

И скопируйте этот файл в ~/.zshrc

После этого вы захотите скопировать в свою PATH переменную среды и любые другие настройки, которые вы хотите сделать.