Поиск по сайту:

Настройка подсказки 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 без какого-либо дополнительного пакета.

Я надеюсь, что это руководство окажется для вас полезным.

Статьи по данной тематике: