Персонализируйте подсказку для повышения производительности с помощью Z Shell

С 2019 года macOS Catalina приняла Z Shell, или сокращенно zsh, в качестве оболочки входа по умолчанию. Z Shell - это оболочка Unix, которая действует как интерактивная оболочка входа и интерпретатор командной строки для сценариев оболочки.

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

Ниже мы рассмотрим, как настроить подсказку zsh.

Создайте ~/.zshrc файл

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

  1. Откройте терминал
  2. Введите touch ~/.zshrc, чтобы создать файл.
  3. Откройте файл ~/.zshrc с помощью vim, nedit или любого другого текстового редактора. Если вы открываете файл через Finder, используйте Cmd + Shift + ., чтобы показать скрытые файлы. Вам нужно добавить в этот файл переменную PROMPT, как описано ниже.

Настройка подсказки

Запрос можно перезаписать, установив переменную PROMPT внутри файла ~/.zshrc.

Различные заполнители подробно описаны в документации по zsh prompt. Ниже я выделю некоторые из наиболее распространенных и полезных конфигураций подсказок.

В приглашении терминала по умолчанию отображается имя пользователя, имя хоста и текущий каталог. Это выражается как:

PROMPT='%n@%m %. %% '

Объяснение компонентов:

%n  $USERNAME
%m  The hostname up to the first ‘.’
%.  Current directory
%%  Character '%'

Если вы хотите, чтобы путь ссылался на полный путь, это можно настроить как:

PROMPT='%n@%m %~ %% '

Единственная разница здесь в том, что %. был заменен на %~.

%~  Refers to the current working directory, but if the current working directory starts with $HOME, $HOME part is replaced by a '~'.
An alternative would be to use %/, which evaluates to the absolute current working directory path.

После применения этих изменений в ~/.zshrc и открытия нового окна терминала полный путь теперь отображается в приглашении:

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

PROMPT='%*:%~ %% '

Добавление цвета

Вы также можете назначить цвет различным компонентам приглашения. Zsh поддерживает цветные строки: черный, красный, зеленый, желтый, синий, пурпурный, голубой, белый или любое число в 256 цветовой палитре от 0 до 255. Перейдите по этой ссылке, чтобы увидеть список всех 256 цветов. .

Назначение цвета должно начинаться с %F, что означает цвет переднего плана, и заканчиваться %f. Например, %F{red}Label%f напечатает слово Этикетка красным цветом.

Продолжая наш пример выше, допустим, мы хотим, чтобы время было зеленым, а путь был синим.

PROMPT='%F{green}%*%f:%F{blue}%~%f %% '

Дополнительные ресурсы

Заключение

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