Повысьте продуктивность с помощью обновленного 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 переменную среды и любые другие настройки, которые вы хотите сделать.