Как настроить подсказку zsh в терминале macOS

Ключевые выводы

  • macOS позволяет вам настроить приглашение zsh в Терминале, чтобы оно выделялось и соответствовало вашим предпочтениям.
  • Создайте профиль .zshrc для хранения всех изменений и настроек, которые вы хотите получить в командной строке zsh.
  • Измените приглашение zsh, добавив нужные значения для таких переменных, как %n (имя пользователя), %m (название модели Mac), %W (дата) и %T (время).

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

Основы командной строки zsh

Когда вы открываете приложение «Терминал» на своем Mac, оно отображает некоторую полезную информацию, например ваш последний вход в систему и командную строку. Вот как обычно выглядит приглашение по умолчанию:

 Last login: Wed Feb 3 22:00:40 on console
alvin@MacBook-Air ~ %

В приглашении zsh отображается строка текста, состоящая из вашего имени пользователя и модели компьютера, например MacBook Air, MacBook Pro, Mac mini и т. д. Тильда (~) указывает расположение приглашения в домашнем каталоге.

Если вы перейдете в другой каталог в вашей файловой системе через Терминал, вместо тильды будет отображаться имя текущего каталога.

Создайте профиль Z Shell для хранения всех настроек.

Обычно вам приходится работать с системными файлами, чтобы изменить внешний вид по умолчанию. Это связано с тем, что обновления macOS сбрасывают все системные файлы к значениям по умолчанию, и вы потеряете все внесенные изменения. Таким образом, вы можете создать специальный файл настроек (известный как точечный файл) для вашего профиля zsh, чтобы хранить все изменения и настройки, которые вы хотите в командной строке zsh.

По умолчанию вы не найдете этот точечный файл в macOS, поэтому вам придется его создать. Рекомендуется создать новый профиль .zshrc для хранения всех настроек, например, того, как выглядит и ведет себя приглашение zsh. Вот как создать профиль zsh (точечный файл):

  Как отобразить собственный текст на рабочем столе macOS
  • Откройте приложение «Терминал».
  • Введите следующую команду и нажмите клавишу Return:
     touch ~/.zshrc 
  • Команда touch создаст файл профиля .zshrc, только если он еще не существует. Если он уже существует, команда ничего не сделает.

    Это создаст профиль .zshrc в домашнем каталоге вашей учетной записи пользователя. Вы можете увидеть его по пути /User// в Finder, если вы включили просмотр скрытых системных файлов на своем Mac.

    После этого профиль zsh будет доступен для интерактивных оболочек без входа в систему каждый раз, когда вы запускаете Терминал. Однако он будет использоваться только для оболочек входа в систему, если другие файлы для входа в систему, такие как .zprofile и .zlogin, отсутствуют.

    Настройка приглашения zsh в терминале

    Обычно приглашение zsh по умолчанию содержит такую ​​информацию, как имя пользователя, имя компьютера и местоположение, начиная с домашнего каталога пользователя. Эти данные хранятся в системном файле оболочки zsh по адресу /etc/zshrc:

     PS1="%n@%m %1~ %#" 

    В этой строке переменных:

    • %n — это имя пользователя вашей учетной записи.
    • %m — название модели вашего Mac.
    • %1~ означает текущий путь к рабочему каталогу, где ~ удаляет местоположение каталога $HOME.
    • %# означает, что в приглашении будет отображаться #, если оболочка работает с правами root (администратора), и %, если нет.

    Чтобы внести какие-либо изменения в приглашение zsh по умолчанию, вам необходимо добавить соответствующие значения, чтобы приглашение выглядело иначе, чем по умолчанию.

    Вот как это сделать. Откройте терминал, введите следующую команду и нажмите Return:

     nano ~/.zshrc 

    Если файл профиля .zshrc существовал раньше, есть вероятность, что он не будет пустым. Однако, если он не существовал, когда вы запускали сенсорную команду выше, он будет пустым. Вы можете добавить новую строку с текстом PROMPT=’…’ или PS1=’…’ и включить соответствующие значения в многоточия.

    Для простого изменения приглашения zsh вы можете ввести эти значения в профиль .zshrc:

     PROMPT='%n:~$' 

    Нажмите Ctrl + O, чтобы подтвердить внесение этих изменений в файл, а затем нажмите Ctrl + X, чтобы выйти из редактора nano.

      5 бесплатных инструментов для диктовки в Windows или macOS

    Откройте новое окно терминала, нажав Cmd + T, чтобы подтвердить и просмотреть только что внесенные изменения. В новом приглашении zsh будет указано имя пользователя вашего Mac, домашний каталог и символ $ в конце. Вы можете добавить интервал в указанной выше переменной PROMPT между %n, ~ и $, если вы предпочитаете, чтобы переменные располагались в терминале.

    Если вы хотите иметь собственное имя пользователя, замените %n на предпочитаемый вами вариант. Вот пример:

     PROMPT='customusername~$' 

    Теперь, если вы откроете новое окно терминала, вы увидите следующее:

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

    Если это звучит слишком сложно, используйте такой сайт, как Генератор подсказок Zsh чтобы помочь вам настроить оболочку Z.

    Добавьте дату и время в строку zsh

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

    Запустите Терминал и откройте профиль .zshrc:

     nano ~/.zshrc 

    Чтобы включить дату в приглашение, вы можете использовать %D, чтобы дата отображалась в формате гг-мм-дд, или %W, чтобы она отображалась в формате мм/дд/гг. Тогда новое приглашение будет выглядеть следующим образом:

     PROMPT='%n:%W:~$' 

    Мы использовали двоеточие (:) в переменной PROMPT выше, чтобы добавить визуальное разделение, но вы можете использовать пробелы или что-нибудь еще. Например, мы используем знак «больше» (>) для разделения времени и текущего каталога.

    Если вы хотите включить системное время в командную строку zsh, добавьте %T для текущего времени в 24-часовом формате, %t для отображения времени в 12-часовом формате или используйте %* для отображения времени в 24-часовом формате. -часовой формат вместе с секундами.

     PROMPT='%n@%T>~$' 

    Отображение даты и времени справа от приглашения zsh

    Чтобы отобразить информацию справа от приглашения zsh, вам необходимо добавить переменную RPROMPT в файл zshrc. Например, чтобы добавить дату и время, введите следующее:

    RPROMPT='%D @ %T'

    Ваше приглашение теперь будет выглядеть так:

    Добавить цвет к тексту в командной строке zsh

    Помимо изменения цвета приложения «Терминал», вы можете добавить цвет к тексту в своем профиле zsh на Mac, чтобы получить красивый визуальный эффект. Запустите Терминал и откройте профиль .zshrc:

     nano ~/.zshrc 

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

     PROMPT='%F{cyan}%n%f:~$' 

    Если вы хотите выбрать определенный оттенок цвета zsh, вы можете выбрать один из 256 8-битных цветов, которые поддерживает Терминал. Вот как можно использовать числовые значения цветов:

     PROMPT='%F{51}%n%f:~$' 

    Вам необходимо поместить переменные цвета переднего плана %F и %f по умолчанию между соответствующим текстом, который вы хотите раскрасить.

      Как установить размер окна по умолчанию для терминала в macOS

    Добавление визуальных эффектов в командной строке zsh

    Если раскрасить текст приглашения недостаточно, вы можете выделить приглашение zsh, чтобы оно выделялось на текстовой стене. Для начала вы можете выделить строку zsh жирным шрифтом:

     PROMPT='%B%F{51}%n%f%b:~$' 

    Добавление %B в начале и размещение %b в конце между соответствующим текстом сделает его жирным.

    Аналогичным образом вы можете поставить %S в начале и %s в конце, чтобы выделить текст. Выделение будет иметь тот же цвет, который вы выбрали для отображения между переменными %S и %s.

     PROMPT='%S%F{51}%n%f%s:~$' 

    Вы также можете подчеркнуть текст приглашения zsh. Чтобы добавить подчеркивание к подсказке, вы можете включить переменную %U в начале и %u в конце соответствующего текста.

     PROMPT='%U%F{51}%n%f%u:~$' 

    Удалите данные последнего входа в систему из командной строки zsh

    Скрытие или отключение верхней строки, показывающей время последнего входа в систему в приложении «Терминал», может придать подсказке zsh более чистый вид. Чтобы скрыть эту информацию, вы можете использовать следующую команду:

     touch ~/.hushlogin 

    В следующий раз, когда вы откроете Терминал, вы не увидите ничего над приглашением zsh.

    Сброс настроек zsh

    Если вам нужно начать все сначала, вы можете сделать это, установив для переменной PROMPT или PS1 значение по умолчанию:

     PROMPT="%n@%m %1~ %#" 

    Если вы добавили информацию справа от приглашения zsh с помощью RPROMPT, удалите ее из .zshrc.

    Альтернативно вы можете безопасно удалить переменные PROMPT/PS1 и RPROMPT в файле .zshrc. Не волнуйтесь, поскольку настройки в файле .zshrc применяются только к текущему профилю пользователя. Если вы удалите их, будут использованы настройки по умолчанию, хранящиеся в системном файле оболочки Z в /etc/zshrc.

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