Если вы хотите, чтобы подсказка zsh использовала другой цвет, отображала дополнительные сведения или имела минимальный вид, чтобы максимально эффективно использовать пространство, macOS позволит вам это сделать. Узнайте, как настроить приглашение zsh в Терминале, чтобы оно выделялось независимо от вашего фона.
Основы работы с подсказкой zsh
Когда вы открываете приложение "Терминал" на вашем Macв нем отображается полезная информация, например ваш последний вход в систему и командная строка. Вот как обычно выглядит приглашение по умолчанию:
В приглашении zsh отображается строка текста, состоящая из вашего имени пользователя и модели компьютера, например MacBook Air, MacBook Pro, Mac mini и так далее. Тильда (~) указывает на расположение приглашения в домашнем каталоге.
Если вы перейдете в другой каталог в файловой системе через Терминал, вместо тильды будет отображаться имя текущего каталога.
Создание профиля Z Shell для сохранения всех настроек
Как правило, чтобы изменить стандартный вид, приходится возиться с системными файлами. Это связано с тем, что обновления macOS сбрасывают все системные файлы на значения по умолчанию, и вы потеряете все сделанные изменения. Поэтому вы можете создать специальный файл настроек (известный как dotfile) для вашего профиля zsh, чтобы сохранить все изменения и настройки, которые вы хотите получить в приглашении zsh.
В macOS такой файл по умолчанию отсутствует, поэтому вам придется его создать. Рекомендуется создать новый профиль .zshrc, чтобы сохранить все настройки, например, внешний вид и поведение приглашения zsh. Вот как создать профиль zsh (dotfile):
Это создаст профиль .zshrc в домашнем каталоге вашей учетной записи пользователя. Вы можете увидеть его по пути /User/<username>/ в Finder, если у вас включен просмотр скрытых системных файлов на вашем Mac.
После этого профиль zsh будет доступен для интерактивных оболочек без входа в систему каждый раз, когда вы запускаете Terminal. Однако он будет использоваться только для оболочек входа в систему, если отсутствуют другие файлы, специфичные для входа в систему, например .zprofile и .zlogin.
Настройка подсказки zsh в Terminal
Как правило, стандартная подсказка zsh содержит такую информацию, как имя пользователя, имя машины и расположение в домашнем каталоге пользователя. Эти данные хранятся в системном файле оболочки zsh по адресу /etc/zshrc:
В этой строке переменных:
- %n - это имя пользователя вашей учетной записи.
- %m - это имя модели вашего Mac.
- %1~ означает путь к текущему рабочему каталогу, где ~ перечеркивает расположение каталога $HOME.
- %# означает, что в приглашении будет отображаться #, если оболочка запущена с привилегиями root (администратора), и %, если нет.
Чтобы внести какие-либо изменения в стандартную подсказку zsh, вам придется добавить соответствующие значения, чтобы подсказка отображалась иначе, чем по умолчанию.
Вот как это сделать. Откройте Terminal, введите следующую команду и нажмите Return:
Если файл профиля .zshrc существовал ранее, есть вероятность, что он не будет пустым. Однако если его не было, когда вы выполняли команду touch выше, он будет пустым. Вы можете добавить новую строку с текстом PROMPT='...' или PS1='...' и включить соответствующие значения в многоточие.
Для простой модификации приглашения zsh вы можете ввести эти значения в профиль .zshrc:
Нажмите Ctrl + O, чтобы подтвердить внесение этих изменений в файл, а затем нажмите Ctrl + X, чтобы выйти из редактора nano.
Откройте новое окно терминала, нажав Cmd + T, чтобы подтвердить и просмотреть изменения, которые вы только что внесли. В новом окне zsh будет отображаться имя пользователя вашего Mac, домашний каталог и символ $ в конце. Вы можете добавить интервал в переменной PROMPT между %n , ~ и $, если вы предпочитаете, чтобы переменные были разнесены в Терминале.
Если вы хотите иметь собственное имя пользователя, замените %n на желаемый вариант. Вот пример:
Теперь, если вы откроете новое окно терминала, вы увидите следующее:
Если вы хотите вручную изменить какой-либо другой параметр, вы можете сделать это, заменив переменные по умолчанию, используя формат переменной PS1, указанный выше. Вы можете включать или удалять информацию из приглашения zsh по своему усмотрению.
Если это кажется слишком сложным, воспользуйтесь сайтом вроде Zsh Prompt Generator который поможет вам настроить вашу оболочку Z.
Добавление даты и времени в подсказку zsh
Помимо имени пользователя, вы можете добавить текущую дату или время, чтобы не отрываться от активного окна Терминала для проверки этой информации.
Запустите Терминал и откройте профиль .zshrc:
Чтобы включить дату в приглашение, вы можете использовать %D для отображения даты в формате yy-mm-dd или %W для отображения в формате mm/dd/yy. Тогда новая подсказка будет выглядеть следующим образом:
Если вы хотите включить в приглашение zsh системное время, добавьте %T для отображения текущего времени в 24-часовом формате, %t для отображения времени в 12-часовом формате или используйте %* для отображения времени в 24-часовом формате вместе с секундами.
Чтобы вывести информацию справа от приглашения zsh, необходимо добавить переменную RPROMPT в файл zshrc. Например, чтобы добавить дату и время, введите следующее:
Теперь ваше приглашение будет выглядеть следующим образом:
Добавьте цвет к тексту в окне zsh
Помимо изменения цвета в приложении Terminal, вы можете добавить цвет к тексту в профиле zsh на Mac, чтобы получить приятный визуальный эффект. Запустите Terminal и откройте профиль .zshrc:
Оболочка Z поддерживает цвет и оттенки серого для текста подсказки, чтобы дополнить фон. Вы можете выбрать цвет переднего плана (текста) из следующих вариантов: черный, белый, желтый, зеленый, красный, синий, голубой и пурпурный. Вот как их использовать:
Если вы хотите выбрать конкретный оттенок цвета zsh, вы можете выбрать один из 256 8-битных цветов, которые поддерживает Терминал. Вот как использовать числовые значения цветов:
Вам нужно поместить переменные %F и %f цвета переднего плана по умолчанию между соответствующим текстом, который вы хотите раскрасить.
Добавление визуальных эффектов в подсказку zsh
Если раскрасить текст подсказки недостаточно, можно выделить подсказку zsh, чтобы она выделялась на фоне текстовой стены. Для начала можно выделить подсказку zsh жирным шрифтом:
Добавьте %B в начале и поставьте %b в конце между соответствующим текстом, чтобы сделать его жирным.
Аналогично, вы можете поставить %S в начале и %s в конце, чтобы выделить текст. Выделение будет иметь тот же цвет, который вы выбрали для отображения между переменными %S и %s.
Вы также можете подчеркнуть текст приглашения zsh. Для добавления подчеркивания к подсказке можно включить переменную %U в начало и %u в конец соответствующего текста.
Удаление информации о последнем входе в систему из подсказки zsh
Скрыв или отключив верхнюю строку, показывающую время последнего входа в систему в приложении Terminal, можно придать подсказке zsh более чистый вид. Чтобы скрыть эту информацию, можно воспользоваться следующей командой:
В следующий раз, когда вы откроете Terminal, вы не увидите ничего над подсказкой zsh.
Сброс настроек zsh
Если вам нужно начать с чистого листа, вы можете сделать это, установив переменную PROMPT или PS1 в значение по умолчанию:
Если вы добавили информацию справа от приглашения zsh с помощью RPROMPT, удалите ее из .zshrc.
Кроме того, вы можете безопасно удалить переменные PROMPT / PS1 и RPROMPT в файле .zshrc. Не волнуйтесь, потому что настройки в файле .zshrc применяются только к текущему профилю пользователя. Если вы удалите эти две переменные, будут использоваться настройки по умолчанию, хранящиеся в системном файле оболочки Z по адресу /etc/zshrc.
Теперь, когда вы знаете все подробности о том, как настроить приглашение zsh, немного поэкспериментируйте и сделайте его по-своему. Вы можете выделять жирным шрифтом, подчеркивать, сокращать и даже включать в нее дополнительную информацию. А если изменения вас не устраивают, вы всегда можете быстро вернуться к стандартному виду.
Если тебе понравилась статья - подпишись на канал, чтобы не пропустить ещё много полезных статей!