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

Усовершенствуйте свою командную строку с помощью Zsh и Oh My Zsh


Быстрые ссылки

  • Что такое «О, мой Zsh»?
  • Установите Zsh и Oh My Zsh
  • Основные настройки
  • Больше настроек
  • Другие полезные опции
  • Удаление Oh My Zsh

Раскройте всю мощь своего терминала Linux или macOS с помощью Zsh и Oh My Zsh, которые позволят вам преобразовать командную строку с помощью интеллектуального автозаполнения, настраиваемых тем и мощных плагинов. Повысьте производительность и оптимизируйте рабочий процесс с помощью этого динамичного дуэта.

Что такое «О, мой Zsh»?

Обычно ваш терминал Linux или macOS по умолчанию использует Bash, но есть множество других командных оболочек на выбор. Хотя Bash хорош, и большинство людей не задумываются об этом дважды, Z Shell (или Zsh) во многих отношениях улучшает Bash. Oh My Zsh или OMZ идут еще дальше, упрощая настройку Zsh и автоматизируя задачи, обеспечивая при этом процветающее сообщество поддержки.

Установите Zsh и Oh My Zsh

Чтобы установить OMZ, вам нужно выполнить одну простую команду, но для этого вам нужно сначала установить Zsh и Git. Вот как все это настроить в разных системах Linux и macOS. Если у вас уже установлены Zsh и Git, вы можете перейти к команде установки OMZ.

Убунту/Дебиан

sudo apt update
sudo apt install zsh git -y

Установите ОМЗ.

sh -c "$(curl -fsSL https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh)"

Федора

sudo dnf install zsh git -y

Установите ОМЗ.

sh -c "$(curl -fsSL https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh)"

Арч Линукс

sudo pacman -S zsh git --noconfirm

Установите ОМЗ.

sh -c "$(curl -fsSL https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh)"

macOS

Вы можете установить OMZ на macOS, но сначала вам нужно установить Homebrew (brew). Brew — это менеджер пакетов, похожий на apt, dnf и pacman, который позволяет вам устанавливать что-то на Mac так же, как в дистрибутиве Linux.

/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"

Теперь вы можете установить Zsh и Git.

brew install zsh git

Установите ОМЗ.

sh -c "$(curl -fsSL https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh)"

Во время установки OMZ должен попросить вас переключить оболочку по умолчанию на Zsh (вы всегда можете вернуться к Bash позже), а затем автоматически перезапустить приглашение.

Основные настройки

Файл конфигурации Zsh по умолчанию (.zshrc) довольно обширен, но в основном он содержит то, что вам никогда не понадобится, и много текста с комментариями.

Чтобы упростить задачу, давайте начнем с нового файла конфигурации и некоторых очень простых параметров. Сначала создайте резервную копию существующего файла .zshrc.

mv ~/.zhsrc ~/.zshrc_backup

Используя предпочитаемый вами текстовый редактор (мы используем vim, но вы можете использовать nano, pico или любой другой, который вам нравится), создайте новый файл .zshrc.

vim ~/.zshrc

Затем введите или вставьте следующее:

# Path to the Oh My Zsh installation.
export ZSH="$HOME/.oh-my-zsh"
# Set the theme for your prompt.
ZSH_THEME="bira"
# Enable plugins.
plugins=(git)
# Load Oh My Zsh.
source $ZSH/oh-my-zsh.sh
# Set the default editor (optional, sets the default editor to git commit messages, crontab entries, and view man pages).
export EDITOR='vim'

Сохраните новый файл .zshrc и перезагрузите терминал или введите zsh.

Больше настроек

Зачем останавливаться здесь? Вы можете сделать гораздо больше, чтобы по-настоящему обмануть командную строку!

Дополнительные параметры темы

Как мы уже отмечали, назначить новую тему так же просто, как указать ее в файле .zshrc. Если вы не знаете, какую тему хотите использовать, или хотите, чтобы OMZ вас удивил, вы можете установить ZSH_THEME="random". Затем каждый раз, когда вы открываете терминал или вводите zsh, OMZ будет загружать другую тему.

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

ZSH-THEME="random"
ZSH_THEME_RANDOM_CANDIDATES=("themes" "you" "like")

Если вы не знаете, какую тему вам нужна, вы можете просмотреть полный список тем, которые включает в себя каждая установка Oh My Zsh.

Установите больше плагинов

Плагин git — это базовый плагин, который должен быть в каждой конфигурации OMZ, но есть и множество других, которые вы можете попробовать. Вот еще четыре, о которых вы, возможно, захотите узнать.

Zsh-Автопредложения: предлагает команды по мере их ввода, основанные на вашей истории и командах, которые вы используете чаще всего. Когда появится нужная команда, вы можете ввести стрелку вправо, чтобы завершить ее.

Чтобы установить этот плагин, введите следующую команду:

git clone https://github.com/zsh-users/zsh-autosuggestions.git $ZSH_CUSTOM/plugins/zsh-autosuggestions

Zsh-Syntax-Highlighting и Zsh-Fast-Syntax-Highlighting: Эти плагины выделяют команды по мере их ввода, используя цвета для обозначения допустимого синтаксиса и ошибок. Чтобы установить эти плагины:

git clone https://github.com/zsh-users/zsh-syntax-highlighting.git $ZSH_CUSTOM/plugins/zsh-syntax-highlighting
git clone https://github.com/zdharma-continuum/fast-syntax-highlighting.git ${ZSH_CUSTOM:-$HOME/.oh-my-zsh/custom}/plugins/fast-syntax-highlighting

Хотя эти плагины по сути делают одно и то же, Zsh-Fast-Syntax-Highlighting предназначен для более быстрой работы в сложных или сильно настраиваемых средах. Если у вас есть сомнения, выберите Zsh-Syntax-Highlighting вместо Zsh-Fast-Syntax-Highlighting из-за его стабильности и зрелости, а также более широкой совместимости с различными настройками Zsh.

Zsh-Autocomplete: этот плагин улучшает завершение табуляции (введите Tab для завершения команды), предоставляя раскрывающийся список команд, включая флаги и местоположения каталогов (если вы используете команду cd). Чтобы установить этот плагин:

git clone --depth 1 -- https://github.com/marlonrichert/zsh-autocomplete.git $ZSH_CUSTOM/plugins/zsh-autocomplete

Независимо от того, устанавливаете ли вы один или все эти плагины, вам необходимо включить их в свой .zshrc.

plugins=(git zsh-autosuggestions zsh-syntax-highlighting fast-syntax-highlighting zsh-autocomplete)

Затем сохраните файл, выйдите из редактора и перезапустите терминал.

Другие полезные опции

Вот еще несколько вариантов, которые вы можете рассмотреть при создании собственного .zshrc.

Изменить поведение истории

Вы можете настроить командную строку для обработки и отображения истории команд по-разному. Например, следующие параметры настраивают историю Zsh, устанавливая файл журнала в ~/.zsh_history, ограничивая размер истории до 10 000 команд и гарантируя, что дубликаты и команды, начинающиеся с пробела, игнорируются, а новые команды добавляются, а не перезаписывают файл.

HISTFILE=~/.zsh_history
HISTSIZE=10000
SAVEHIST=10000
setopt append_history
setopt hist_ignore_dups
setopt hist_ignore_space
setopt hist_expire_dups_first

Завершение табуляции без учета регистра

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

setopt nocaseglob

setopt nocasematch

Автокоррекция

Некоторым людям не нравится автоисправление опечаток, а некоторым нравится. Если вы являетесь частью последнего, вы можете включить автокоррекцию.

setopt correct

Удаление Oh My Zsh

Если вы решите, что OMZ вам не подходит, вы можете удалить его и даже переключить приглашение оболочки обратно на bash.

Сначала верните оболочку обратно в bash.

chsh -s $(which bash)

Удалите Oh My Zsh и переименуйте файл .zshrc.

rm -rf ~/.oh-my-zsh
mv ~/.zshrc ~/.zshrc_backup

Если вы предпочитаете вообще избавиться от всего, вы можете удалить файл .zshrc.

rm ~/.zshrc

Поздравляем с успешной установкой и настройкой Oh My Zsh в вашей системе! Это огромный шаг к улучшению работы с терминалом и повышению производительности. Oh My Zsh открывает широкий спектр плагинов, тем и других интеллектуальных настроек, которые делают вашу командную строку более эффективной и приятной. Надеемся, теперь вы чувствуете себя уверенно, изучая больше плагинов, настраивая конфигурацию и создавая свой собственный терминал!

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