Як налаштувати підказку 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 скидають усі системні файли до стандартних, і ви втратите всі внесені зміни. Таким чином, ви можете створити окремий файл налаштувань (відомий як dotfile) для вашого профілю zsh, щоб зберігати всі зміни та налаштування, які ви хочете, у підказці zsh.

Ви не знайдете цей dotfile за умовчанням у macOS, тому вам доведеться його створити. Рекомендується створити новий профіль .zshrc, щоб зберегти всі налаштування, як-от вигляд і поведінку підказки zsh. Ось як створити профіль zsh (dotfile):

  Як отримати ескізи скріншотів, схожих на iOS 11, у 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 існував раніше, є шанс, що він не буде порожнім. Однак, якщо його не існувало, коли ви запускали наведену вище команду touch, він буде порожнім. Ви можете додати новий рядок із текстом PROMPT=’…’ або PS1=’…’ і включити відповідні значення в еліпси.

    Для простої зміни підказки zsh можна ввести ці значення в профіль .zshrc:

     PROMPT='%n:~$' 

    Натисніть Ctrl + O, щоб підтвердити внесення цих змін у файл, а потім натисніть Ctrl + X, щоб вийти з редактора nano.

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

      Як завантажити рахунок-фактуру Uber за останній місяць або рік [macOS]

    Якщо ви бажаєте мати власне ім’я користувача, замініть %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

    Окрім зміни кольорів програми Terminal, ви можете додати трохи кольору до тексту у своєму профілі 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

    Якщо приховати або вимкнути верхній рядок, який показує час останнього входу в програму Terminal, ваш підказка zsh може виглядати чіткіше. Ви можете використати таку команду, щоб приховати цю інформацію:

     touch ~/.hushlogin 

    Наступного разу, коли ви відкриєте термінал, ви не побачите нічого над підказкою zsh.

    Скинути ваші налаштування zsh

    Якщо вам потрібен новий старт, ви можете зробити це, встановивши для змінної PROMPT або PS1 значення за замовчуванням:

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

    Якщо ви додали інформацію праворуч від підказки zsh за допомогою RPROMPT, видаліть її з .zshrc.

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

    Тепер, коли ви маєте повну інформацію про те, як налаштувати підказку zsh, трохи поекспериментуйте та створіть її власну. Ви можете виділити жирним шрифтом, підкреслити, скоротити та навіть додати до нього більше інформації. І якщо ви не задоволені змінами, ви завжди можете швидко повернутися до стандартного вигляду.