Go to file
Derek Willian Stavis 111eca9694 Merge pull request #245 from oh-my-fish/remove-test-themes-doc
Remove themes doc travis test
2016-01-24 17:59:08 -02:00
bin Add https:// to curl calls in README and install script 2015-10-20 18:17:49 -04:00
db Add chain theme to db 2016-01-20 17:30:02 -06:00
docs Add chain theme to db 2016-01-20 17:30:02 -06:00
lib git_ahead: Fix indicator override 2016-01-21 09:47:11 -02:00
pkg Reorganize omf plugin structure 2016-01-09 18:59:54 -02:00
templates Fix issue #197: quote OMF_PATH 2015-12-31 16:05:01 +02:00
tests Remove themes doc travis test 2016-01-24 17:51:24 -02:00
tools Run tests on Travis osx and linux machines 2015-12-23 12:11:56 +00:00
.editorconfig %%% United States of the Fish → Wahoo + OMF %%% 2015-08-27 00:20:13 +09:00
.gitignore Fish-spec plugin 2015-12-19 11:46:09 +00:00
.travis.yml Remove themes doc travis test 2016-01-24 17:51:24 -02:00
AUTHORS DMCA Agreement 2015-09-26 23:48:55 +01:00
CONTRIBUTING.md Tiny improvements 2016-01-20 05:24:57 +03:00
Dockerfile A correct Dockerfile usage 2015-12-08 16:33:41 +00:00
init.fish Remove PATH save/restore code 2016-01-20 22:29:37 -02:00
LICENSE DMCA Agreement 2015-09-26 23:48:55 +01:00
README.md Tiny improvements 2016-01-20 05:24:57 +03:00

The Fishshell Framework

MIT License Fish Shell Version Travis Build Status Slack Status

Oh My Fish provides core infrastructure to allow you to install packages which extend or modify the look of your shell. It's fast, extensible and easy to use.



English简体中文

Installation

curl -L https://github.com/oh-my-fish/oh-my-fish/raw/master/bin/install | fish
omf help

Or download and run it yourself:

curl -L https://github.com/oh-my-fish/oh-my-fish/raw/master/bin/install > install
fish install

Getting Started

Oh My Fish includes a small utility omf to fetch and install new packages and themes.

omf update

Update the framework and installed packages.

omf install [<name>|<url>]

Install one or more packages.

  • You can install packages directly by URL via omf install URL
  • When called without arguments, install missing packages from bundle.

omf list

List installed packages.

omf theme <theme>

Apply a theme. To list available themes, type omf theme. You can also preview available themes before installing.

omf remove <name>

Remove a theme or package.

Packages subscribed to uninstall_<pkg> events are notified before the package is removed, so custom cleanup of resources can be done. See Uninstall for more information.

omf new pkg | theme <name>

Scaffold out a new package or theme.

This creates a new directory under $OMF_CONFIG/{pkg | themes}/ with a template.

omf submit pkg/<name> [<url>]

Add a new package. To add a theme, use omf submit themes/<name> <url>.

Make sure to send us a PR to update the registry.

omf doctor

Use to troubleshoot before opening an issue.

omf destroy

Uninstall Oh My Fish.

Advanced

Oh My Fish installer places its startup code in your fish config file (~/.config/fish/config.fish).

Startup

Every time 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 autoloads packages, themes and your custom init files.

For more information check the FAQ.

Dotfiles

The $OMF_CONFIG directory represents the user state of Oh My Fish. It is the perfect candidate for being added to your dotfiles and/or checked out to version control. There are four important files:

  • theme - The current theme
  • bundle - List of currently installed packages/themes
  • init.fish - Custom script sourced after shell start
  • before.init.fish - Custom script sourced before shell start

It's highly recommended that your custom startup commands go into init.fish file instead of ~/.config/fish/config.fish, as this allows you to keep the whole $OMF_CONFIG directory under version control.

If you need startup commands to be run before Oh My Fish begins loading plugins, place them in before.init.fish instead. If you're unsure, it is usually best to put things in init.fish.

About the bundle

Every time a package/theme is installed or removed, the bundle file is updated. You can also edit it manually and run omf install afterwards to satisfy the changes. Please note that while packages/themes added to the bundle get automatically installed, a package/theme removed from bundle isn't removed from user installation.

Creating Packages

Oh My Fish uses an advanced and well defined plugin architecture to ease plugin development, including init/uninstall events and function autoloading. See the documentation for more details.