Настройка подсказки Zsh
Дайте вашему zsh красивую и полезную подсказку. Вот как.
Хотя большинство руководств по настройке zsh включают только установку темы, бывают случаи, когда вам нужно настроить незначительные вещи, такие как изменение цветов, отображение времени и способ отображения вещей в целом.
Итак, в этом уроке я расскажу вам следующее:
Изменение текста приглашения (часть
username@hostname)Изменение цветов и форматирования
-
Добавление времени к угловой части
Начнем с первого.
Настройка текста подсказки
По умолчанию, когда вы устанавливаете zsh, вас приветствует скучное приглашение, в котором нет ничего, кроме имени хоста, выделенного простым белым цветом:
Это тот момент, когда вы начинаете сожалеть о своем решении установить zsh, но думаете об этом как о чистом холсте.
Чтобы сделать это приглашение приятным и информативным, вам необходимо использовать символы расширения приглашения.
Сначала откройте файл конфигурации zsh с помощью следующей команды:
nano ~/.zshrcСюда вставьте следующие строки:
#Default prompt
PS1="%n@%m %1~:"Здесь,
PS1: это строковая переменная строки приглашения оболочки, которая определяет текст, отображаемый перед каждой введенной вами командой.-
%n: используется для отображения имени вошедшего в систему пользователя. %m: показывает имя хоста системы.%1~: часть%1показывает имя текущего рабочего каталога, а символ тильды будет отображаться только в том случае, если вы находитесь внутри своего домашнего каталога.
Символы @ и : использовались только в эстетических целях.
После вставки строки сохраните изменения и выйдите из текстового редактора nano. Чтобы внесенные вами изменения вступили в силу, укажите источник файла:
source ~/.zshrcПосле выполнения указанной выше команды приглашение терминала будет выглядеть следующим образом:
Но есть еще несколько подсказок, которые вы можете использовать:
%jКоличество заданий, которыми в настоящее время управляет оболочка.
%LТекущее значение переменной $SHLVL.
%T-
Текущее время в 24-часовом формате.
%rПоказывать текущее время в 12-часовом формате с секундами.
%DОтображение даты в формате «гггг-мм-дд».
Изменение цветов и форматирования
Ранее я объяснил, как вы можете добавлять/удалять элементы из приглашения терминала, используя символы расширения приглашения, а в этом разделе я расскажу вам, как их раскрасить.
Допустим, я хочу выделить имя пользователя и имя хоста полужирным шрифтом, затем я закрою часть имени хоста и имени пользователя %B и %b:
PS1="%B%n@%m%b %1~:"После сохранения и поиска файла мое приглашение выглядело так:
Кроме того, если вы хотите добавить цвета в приглашение, вы можете использовать %F{color}...%f вокруг той части, которую хотите раскрасить.
Например, здесь я хотел применить темно-зеленый цвет ко всей части username@hostname, поэтому я использовал %F{color}...%f в следующим образом:
PS1="%F{#008000}%B%n@%m%b %1~:%f"После получения файла мое приглашение выглядело так:
Я лично меняю цвет фона индикатора каталога, чтобы имя каталога всегда было выделено и легко читалось.
Индикатором имени каталога является %1~, поэтому я буду использовать %K{color}...%k:
PS1="%F{#008000}%B%n@%m%b %K{#3a3a3a}%1~%k:%f"После этого сохраните изменения, выйдите из редактора и сохраните файл:
source ~/.zshrcОкончательный результат будет выглядеть так:
Вот список опций, которые я использовал в этом разделе, на случай, если вы захотите делать заметки:
| Start | End | Effect |
|---|---|---|
%B |
%b |
Bold |
%U |
%u |
Underline |
%S |
%s |
Highlight |
%F{color} |
%f |
Foreground color |
%K{color} |
%k |
Background color |
Добавьте время в правый угол
Хотя заголовок раздела «Добавление времени в правый угол» не будет отражать должное, поскольку вы можете добавить все, что можете или добавили в правую часть, например имя пользователя, имя хоста и т. д., но добавление времени будет иметь больше смысла, чем те элементы.
Чтобы добавить время или любой другой элемент в правый угол, сначала откройте файл zshrc:
nano ~/.zshrcЗдесь вам нужно добавить переменную RPROMPT и определить, какие элементы вы хотите добавить.
Например, здесь я добавил время в 12-часовом формате, чтобы моя строка выглядела так:
RPROMPT="%t"Окончательный результат выглядит так:
Выглядит скучно? Выделим текст жирным шрифтом и раскрасим его:
RPROMPT="%F{241}%B%t%b%f"Я добавил темно-серый цвет с жирным шрифтом ко времени, поэтому конечный результат выглядит следующим образом:
Выглядит просто и выполняет свою работу, не отвлекаясь.
Подведение итогов...
Это был мой взгляд на то, как настроить командную строку zsh без использования какой-либо темы или расширения, и я твердо верю, что zsh — одна из самых гибких оболочек.
Конечно, существует множество расширений и тем, которые можно использовать, чтобы сделать его еще лучше, но это руководство было призвано показать, насколько легко настроить приглашение zsh без какого-либо дополнительного пакета.
Я надеюсь, что это руководство окажется для вас полезным.











