Як налаштувати підказку zsh у терміналі macOS

Основні висновки

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

Чи бажаєте ви, щоб ваша підказка zsh мала інший колір, показувала додаткові дані, чи мала мінімалістичний вигляд для економії місця, macOS надає вам таку можливість. Дізнайтеся, як налаштувати підказку zsh у терміналі, щоб вона була унікальною.

Основи підказки zsh

Після відкриття програми “Термінал” на вашому Mac, ви побачите різноманітну інформацію, наприклад, дату та час останнього входу, а також командний рядок. Зазвичай підказка має такий вигляд:

Останній вхід: Сер 3 лют 22:00:40 на консолі
alvin@MacBook-Air ~ %

Підказка zsh виводить рядок, що містить ваше ім’я користувача та назву вашого комп’ютера, наприклад, MacBook Air, MacBook Pro, Mac mini тощо. Символ тильди (~) показує, що підказка знаходиться у вашому домашньому каталозі.

Якщо ви переміститесь в інший каталог у файловій системі через термінал, замість тильди відобразиться назва цього каталогу.

Створення профілю Z Shell для зберігання всіх налаштувань

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

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

  • Запустіть програму “Термінал”.
  • Введіть наведену нижче команду і натисніть клавішу Return:
    touch ~/.zshrc
  • Команда touch створить файл профілю .zshrc лише в тому випадку, якщо він ще не існує. Якщо файл вже є, команда нічого не зробить.

    Це створить профіль .zshrc у домашньому каталозі вашого облікового запису користувача. Якщо у вас увімкнено показ прихованих файлів, ви можете знайти його за шляхом /User/<ім’я_користувача>/ у Finder.

    Після цього профіль 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, ~ і $, якщо ви хочете, щоб змінні відображалися з інтервалами.

    Якщо ви хочете використовувати інше ім’я користувача, замініть %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:~$'

    Якщо ви хочете вибрати певний відтінок кольору, ви можете вибрати з 256 8-бітних кольорів, які підтримує термінал. Ось як використовувати числові значення кольорів:

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

    Вам потрібно розмістити стандартні змінні кольору переднього плану %F і %f між відповідним текстом, який ви хочете розфарбувати.

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