7.4 KiB
The Fishshell Framework
Oh My Fish обеспечивает базовую инфраструктуру чтобы обеспечить установку пакетов которые расширяют и модифицируют внешний вид вашей оболочки. Он быстрый, расширяемый и легок в использовании.
Установка
curl -L https://github.com/oh-my-fish/oh-my-fish/raw/master/bin/install | fish
omf help
Или скачайте и запустите сами:
curl -L https://github.com/oh-my-fish/oh-my-fish/raw/master/bin/install > install
fish install
Туториал
Oh My Fish содержит небольшую утилиту omf
для загрузки и установки новых пакетов и тем.
omf update
Обновляет фреймворк и установленные пакеты.
omf install
[<name>|<url>]
Устанавливает один или более пакетов.
- Вы можете установить пакеты прямо по URL с помощью команды
omf install URL
- Когда вызывается без аргументов, устанавливает отсутствующие пакеты из bundle.
omf list
Список установленных пакетов.
omf theme
<theme>
Применяет тему. Чтобы получить список доступных тем введите omf theme
. Также вы можете предварительно посмотреть доступные темы перед установкой.
omf remove
<name>
Удаляет тему или пакет.
Пакеты, подписанные на событие
uninstall_<pkg>
уведомляются перед тем как пакет будет удален, поэтому может быть выполнена кастомная очистка ресурсов. Смотрите Удаление чтобы получить больше информации.
omf new pkg | theme
<name>
Генерирует новый пакет или тему.
Создает новый каталог в
$OMF_CONFIG/{pkg | themes}/
с шаблоном.
omf submit
pkg/<name>
[<url>]
Добавляет новый пакет. Чтобы добавить тему используйте omf submit
themes/<name>
<url>
.
Убедитесь что отправили нам PR чтобы обновить реестр.
omf doctor
Используйте для устранения проблем перед созданием нового issue.
omf destroy
Удаляет Oh My Fish.
Продвинутый
Установщик Oh My Fish помещает код для старта в вашем конфиг файле (~/.config/fish/config.fish
).
Стартап
Каждый раз когда вы открываете новый shell стартап код инициализирует Oh My Fish путь установки и конфиг путь (~/.config/omf
по умолчанию), потом запускает init.fish
скрипт, который автоматически загружает пакеты, темы и ваши кастомные init файлы.
Everytime you open a new shell the startup code initializes Oh My Fish installation path and the config path (~/.config/omf
by default), sourcing the init.fish
script afterwards, which autoload packages, themes and your custom init files. Чтобы получить больше информации смотрите FAQ.
Файлы конфигурации
Директория $OMF_CONFIG
представляет состояние пользователя Oh My Fish, и это превосходный кандидат для добавления в ваши dotfiles и/или добавлена в систему контроля версий. Это четыре важных файла:
theme
- Текущая темаbundle
- Список установленных пакетов/темinit.fish
- Кастомный скрипт, который запускается после запуска shellbefore.init.fish
- Кастомный скрипт который запускается перед запуском shell
Настоятельно рекомендуется добавлять свои стартап команды в файл init.fish
вместо ~/.config/fish/config.fish
, так как это позволяет вам держать весь каталог $OMF_CONFIG
в системе контроля версий.
Если вам нужно запускать стартап команды перед тем как Oh My Fish начнет загружать плагины, поместите их в before.init.fish
. Если вы не уверены, как правило, лучше поместить их в init.fish
.
О bundle
Каждый раз когда пакет/тема устанавливается или удаляется, bundle
файл обновляется. Также вы можете отредактировать его и потом запустить omf install
чтобы зафиксировать изменения. Пожалуйста обратите внимание на то что если пакеты/темы добавлены в bundle, они автоматически установятся, в то время как пакеты/темы, удаленные из bundle файла не удалятся из пользовательской папки.
Создание пакетов
Oh My Fish использует продвинутую и хорошо определенную архитектуру плагинов для упрощения их разработки, включая события инициализации/удаления и функции автозагрузки. Смотрите документацию чтобы получить больше информации.