Oh My Zsh — это управляемая сообществом платформа с открытым исходным кодом для управления вашей конфигурацией zsh.
Звучит скучно. Давайте попробуем еще раз.
Oh My Zsh не сделает вас 10-кратным разработчиком... но вы можете почувствовать себя таковым.
После установки о вашей терминальной оболочке будет говорить весь город , иначе вы вернете деньги! С каждым нажатием клавиши в командной строке вы получаете доступ к сотням мощных плагинов и красивых тем. В кафе к вам будут подходить незнакомцы и спрашивать: «Это потрясающе! Вы какой-то гений?»
Наконец, вы начнете получать то внимание, которого, по вашему мнению, вы всегда заслуживали. …или, может быть, вы потратите сэкономленное время на то, чтобы чаще пользоваться зубной нитью. ?
Чтобы узнать больше, посетите ohmyz.sh, подпишитесь на @ohmyzsh в X (ранее Twitter) и присоединяйтесь к нам в Discord.
О/С | Статус |
---|---|
Андроид | ✅ |
бесплатнаяBSD | ✅ |
ЛКАРС | ? |
Линукс | ✅ |
macOS | ✅ |
ОС/2 Варп | |
Windows (WSL2) | ✅ |
zsh --version
для подтверждения), ознакомьтесь со следующими вики-инструкциями здесь: Установка ZSHcurl
или wget
должны быть установленыgit
(рекомендуется версия 2.4.11 или выше) Oh My Zsh устанавливается путем выполнения одной из следующих команд в вашем терминале. Вы можете установить его через командную строку с помощью curl
, wget
или другого подобного инструмента.
Метод | Команда |
---|---|
завиток | sh -c "$(curl -fsSL https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh)" |
wget | sh -c "$(wget -O- https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh)" |
принести | sh -c "$(fetch -o - https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh)" |
Кроме того, установщик также зеркалируется за пределами GitHub. Вместо этого может потребоваться использование этого URL-адреса, если вы находитесь в такой стране, как Китай или Индия (для некоторых интернет-провайдеров), которая блокирует raw.githubusercontent.com
:
Метод | Команда |
---|---|
завиток | sh -c "$(curl -fsSL https://install.ohmyz.sh/)" |
wget | sh -c "$(wget -O- https://install.ohmyz.sh/)" |
принести | sh -c "$(fetch -o - https://install.ohmyz.sh/)" |
Обратите внимание, что любой предыдущий .zshrc
будет переименован в .zshrc.pre-oh-my-zsh
. После установки вы можете переместить конфигурацию, которую хотите сохранить, в новый .zshrc
.
Рекомендуется проверить сценарий установки проектов, о которых вы еще не знаете. Вы можете сделать это, сначала загрузив скрипт установки, просмотрев его, чтобы все выглядело нормально, а затем запустив его:
wget https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh
sh install.sh
Если указанный выше URL-адрес истекает по истечении времени или происходит сбой по какой-либо причине, вам, возможно, придется заменить URL-адрес на https://install.ohmyz.sh
, чтобы иметь возможность получить сценарий.
Oh My Zsh поставляется с кучей плагинов, которыми вы можете воспользоваться. Вы можете заглянуть в каталог плагинов и/или в вики, чтобы узнать, что доступно на данный момент.
Как только вы обнаружите плагин (или несколько), который вы хотели бы использовать с Oh My Zsh, вам нужно будет включить его в файле .zshrc
. Вы найдете файл zshrc в каталоге $HOME
. Откройте его в своем любимом текстовом редакторе, и вы увидите список всех плагинов, которые вы хотите загрузить.
vi ~ /.zshrc
Например, это может выглядеть так:
plugins=(
git
bundler
dotenv
macos
rake
rbenv
ruby
)
Обратите внимание, что плагины разделены пробелами (пробелы, табуляции, новые строки...). Не используйте запятые между ними, иначе оно сломается.
Каждый встроенный плагин включает README , документирующий его. В этом README должны быть показаны псевдонимы (если плагин их добавляет) и дополнительные возможности, включенные в этот конкретный плагин.
Мы признаем это. В начале мира Oh My Zsh мы, возможно, были слишком довольны темой. Сейчас у нас в комплекте более ста пятидесяти тем. Скриншоты большинства из них есть в вики (мы работаем над обновлением!). Проверьте их!
Тема Робби является темой по умолчанию. Это не самый модный вариант. Это не самый простой вариант. Это как раз то, что нужно (для него).
Как только вы найдете тему, которую хотите использовать, вам нужно будет отредактировать файл ~/.zshrc
. Вы увидите переменную среды (все заглавные буквы), которая выглядит так:
ZSH_THEME= " robbyrussell "
Чтобы использовать другую тему, просто измените значение, чтобы оно соответствовало названию нужной темы. Например:
ZSH_THEME= " agnoster " # (this is one of the fancy ones)
# see https://github.com/ohmyzsh/ohmyzsh/wiki/Themes#agnoster
Примечание
Вы много раз увидите скриншоты темы zsh, попробуете ее и обнаружите, что она для вас не похожа.
Это связано с тем, что для правильной обработки многих тем требуется установка шрифта Powerline или Nerd Font. Без них эти темы будут отображать странные символы подсказок. Ознакомьтесь с часто задаваемыми вопросами для получения дополнительной информации.
Кроме того, помните, что темы определяют только внешний вид вашего приглашения. Это текст, который вы видите до или после курсора, где вы будете вводить команды. Темы не контролируют такие вещи, как цвета окна вашего терминала (известные как цветовая схема ) или шрифт вашего терминала. Это настройки, которые вы можете изменить в эмуляторе терминала. Для получения дополнительной информации посмотрите, что такое тема zsh.
Откройте новое окно терминала, и ваше приглашение должно выглядеть примерно так:
Если вы не нашли подходящую тему для своих нужд, загляните в вики, чтобы узнать больше.
Если вы злитесь, вы можете позволить компьютеру выбирать для вас один случайный вариант каждый раз, когда вы открываете новое окно терминала.
ZSH_THEME= " random " # (...please let it be pie... please be some pie..)
А если вы хотите выбрать случайную тему из списка ваших любимых тем:
ZSH_THEME_RANDOM_CANDIDATES=(
" robbyrussell "
" agnoster "
)
Если вы знаете только те темы, которые вам не нравятся, вы можете добавить их в игнорируемый список аналогично:
ZSH_THEME_RANDOM_IGNORED=(pygmalion tjkirch_mod)
Если у вас есть еще вопросы или проблемы, вы можете найти решение в нашем разделе часто задаваемых вопросов.
Если вы из тех, кто любит пачкать руки, эти разделы могут найти отклик.
Некоторые пользователи могут захотеть вручную установить Oh My Zsh или изменить путь по умолчанию или другие настройки, которые принимает установщик (эти настройки также описаны в верхней части сценария установки).
Местоположение по умолчанию — ~/.oh-my-zsh
(спрятано в вашем домашнем каталоге, доступ к нему можно получить с помощью cd ~/.oh-my-zsh
)
Если вы хотите изменить каталог установки с помощью переменной среды ZSH
, либо запустив export ZSH=/your/path
перед установкой, либо установив ее перед завершением конвейера установки следующим образом:
ZSH= " $HOME /.dotfiles/oh-my-zsh " sh install.sh
Если вы используете сценарий установки Oh My Zsh в рамках автоматической установки, вы можете передать флаг --unattended
в сценарий install.sh
. Это приведет к тому, что вы не будете пытаться изменить оболочку по умолчанию, а также не запустите zsh
после завершения установки.
sh -c " $( curl -fsSL https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh ) " " " --unattended
Если вы находитесь в Китае, Индии или другой стране, которая блокирует raw.githubusercontent.com
, вам, возможно, придется заменить URL-адрес на https://install.ohmyz.sh
для установки.
Сценарий установки также принимает эти переменные, чтобы разрешить установку другого репозитория:
REPO
(по умолчанию: ohmyzsh/ohmyzsh
): принимает форму owner/repository
. Если вы установите эту переменную, установщик будет искать репозиторий по адресу https://github.com/{owner}/{repository}
.
REMOTE
(по умолчанию: https://github.com/${REPO}.git
): это полный URL-адрес клона репозитория git. Вы можете использовать этот параметр, если хотите установить из форка, которого нет на GitHub (GitLab, Bitbucket...) или если вы хотите клонировать с помощью SSH вместо HTTPS ( [email protected]:user/project.git
). .
ПРИМЕЧАНИЕ. Это несовместимо с установкой переменной REPO
. Этот параметр будет иметь приоритет.
BRANCH
(по умолчанию: master
): вы можете использовать этот параметр, если хотите изменить ветку по умолчанию, которая будет извлечена при клонировании репозитория. Это может быть полезно для тестирования запроса на включение или если вы хотите использовать ветку, отличную от master
.
Например:
REPO=apjanke/oh-my-zsh BRANCH=edge sh install.sh
git clone https://github.com/ohmyzsh/ohmyzsh.git ~ /.oh-my-zsh
~/.zshrc
cp ~ /.zshrc ~ /.zshrc.orig
Вы можете создать новый файл конфигурации zsh, скопировав шаблон, который мы включили для вас.
cp ~ /.oh-my-zsh/templates/zshrc.zsh-template ~ /.zshrc
chsh -s $( which zsh )
Вам необходимо выйти из пользовательского сеанса и снова войти в систему, чтобы увидеть это изменение.
Как только вы откроете новое окно терминала, оно должно загрузить zsh с конфигурацией Oh My Zsh.
Если у вас возникли проблемы при установке, вот несколько распространенных решений.
PATH
в ~/.zshrc
, если вы не можете найти некоторые команды после переключения на oh-my-zsh
.ZSH
в ~/.zshrc
. Если вы хотите переопределить какое-либо поведение по умолчанию, просто добавьте новый файл (оканчивающийся на .zsh
) в каталог custom/
.
Если у вас есть много функций, которые хорошо сочетаются друг с другом, вы можете поместить их в виде файла XYZ.plugin.zsh
в каталог custom/plugins/
, а затем включить этот плагин.
Если вы хотите переопределить функциональность плагина, распространяемого с Oh My Zsh, создайте плагин с тем же именем в каталоге custom/plugins/
, и он будет загружен вместо плагина в plugins/
.
Поведение по умолчанию в Oh My Zsh — использование BSD ls
в системах macOS и FreeBSD. Если GNU ls
установлен (как команда gls
), вы можете использовать его. Для этого вы можете использовать конфигурацию на основе zstyle перед поиском oh-my-zsh.sh
:
zstyle ' :omz:lib:theme-and-appearance ' gnu-ls yes
Примечание. Это несовместимо с DISABLE_LS_COLORS=true
Если вы хотите пропустить псевдонимы Oh My Zsh по умолчанию (определенные в файлах lib/*
) или псевдонимы плагинов, вы можете использовать приведенные ниже настройки в файле ~/.zshrc
до загрузки Oh My Zsh . Обратите внимание, что существует много разных способов пропустить псевдонимы, в зависимости от ваших потребностей.
# Skip all aliases, in lib files and enabled plugins
zstyle ' :omz:* ' aliases no
# Skip all aliases in lib files
zstyle ' :omz:lib:* ' aliases no
# Skip only aliases defined in the directories.zsh lib file
zstyle ' :omz:lib:directories ' aliases no
# Skip all plugin aliases
zstyle ' :omz:plugins:* ' aliases no
# Skip only the aliases from the git plugin
zstyle ' :omz:plugins:git ' aliases no
Вы можете комбинировать их другими способами, учитывая, что более конкретные области имеют приоритет:
# Skip all plugin aliases, except for the git plugin
zstyle ' :omz:plugins:* ' aliases no
zstyle ' :omz:plugins:git ' aliases yes
В предыдущей версии этой функции использовался приведенный ниже параметр, который был удален:
zstyle ' :omz:directories ' aliases no
Вместо этого теперь вы можете использовать следующее:
zstyle ' :omz:lib:directories ' aliases no
Эта функция в настоящее время находится на этапе тестирования и в будущем может быть изменена. В настоящее время он также несовместим с менеджерами плагинов, такими как zpm или zinit, которые не используют сценарий инициализации (
oh-my-zsh.sh
), в котором реализована эта функция.
В настоящее время ему также неизвестны «псевдонимы», определяемые как функции. Примером таких функций являются функции
gccd
,ggf
илиggl
из плагина git.
Асинхронные функции подсказок — это экспериментальная функция (включенная 3 апреля 2024 г.), которая позволяет Oh My Zsh асинхронно отображать подсказки. Это может повысить производительность быстрого рендеринга, но при некоторых настройках может работать некорректно. Мы надеемся, что это не проблема, но если вы видите проблемы с этой новой функцией, вы можете отключить ее, установив следующее в своем файле .zshrc до того, как будет создан источник Oh My Zsh:
zstyle ' :omz:alpha:lib:git ' async-prompt no
Если ваша проблема в том, что приглашение git просто перестало появляться, вы можете попытаться принудительно установить следующую конфигурацию до того, как будет создан oh-my-zsh.sh
. Если это по-прежнему не работает, пожалуйста, откройте проблему с вашим случаем.
zstyle ' :omz:alpha:lib:git ' async-prompt force
По умолчанию вам будет предложено проверять наличие обновлений каждые 2 недели. Вы можете выбрать другие режимы обновления, добавив строку в файл ~/.zshrc
до загрузки Oh My Zsh :
Автоматическое обновление без запроса подтверждения:
zstyle ' :omz:update ' mode auto
Просто предложите напоминание каждые несколько дней, если доступны обновления:
zstyle ' :omz:update ' mode reminder
Чтобы полностью отключить автоматические обновления:
zstyle ' :omz:update ' mode disabled
ПРИМЕЧАНИЕ. вы можете контролировать частоту проверки обновлений Oh My Zsh с помощью следующей настройки:
# This will check for updates every 7 days
zstyle ' :omz:update ' frequency 7
# This will check for updates every time you open the terminal (not recommended)
zstyle ' :omz:update ' frequency 0
Вы также можете ограничить подробность обновления с помощью следующих настроек:
zstyle ' :omz:update ' verbose default # default update prompt
zstyle ' :omz:update ' verbose minimal # only few lines
zstyle ' :omz:update ' verbose silent # only errors
Если вы хотите обновиться в любой момент времени (может быть, кто-то только что выпустил новый плагин, и вы не хотите ждать неделю?), вам просто нужно запустить:
omz update
Волшебство! ?
Oh My Zsh не для всех. Мы будем скучать по тебе, но мы хотим, чтобы этот разрыв был легким.
Если вы хотите удалить oh-my-zsh
, просто запустите uninstall_oh_my_zsh
из командной строки. Он удалит себя и вернет предыдущую конфигурацию bash
или zsh
.
Прежде чем принять участие в нашем восхитительном сообществе, пожалуйста, прочтите кодекс поведения.
Я далек от того, чтобы быть экспертом по Zsh, и подозреваю, что есть много способов улучшить его — если у вас есть идеи о том, как сделать конфигурацию проще в обслуживании (и быстрее), не стесняйтесь создавать форки и отправлять запросы на включение!
Нам также нужны люди, которые будут тестировать запросы на включение. Так что просмотрите открытые вопросы и помогите, где можете.
Подробнее см. в разделе «Вклад».
На данный момент у нас (более чем) достаточно тем. Пожалуйста, добавьте свою тему на вики-страницу внешних тем.
У Oh My Zsh активное сообщество счастливых пользователей и замечательных участников. Без времени и помощи наших участников это было бы не так здорово.
Большое спасибо!
Мы в социальных сетях:
У нас есть наклейки, рубашки и кофейные кружки, чтобы вы могли продемонстрировать свою любовь к Oh My Zsh. И снова о вас будет говорить весь город!
Oh My Zsh выпускается под лицензией MIT.
Oh My Zsh был запущен командой Planet Argon, агентства по разработке Ruby on Rails. Ознакомьтесь с другими нашими проектами с открытым исходным кодом.