2013-05-17 21:05:41 +08:00
# Oh My Fish!
2015-01-14 00:20:10 +08:00
[![Build Status ](https://travis-ci.org/bpinto/oh-my-fish.svg?branch=master )](https://travis-ci.org/bpinto/oh-my-fish)
2013-05-17 21:05:41 +08:00
### Why?
2015-01-30 08:06:05 +08:00
Developing on a shell should be a pleasure. Our goal is to help developers that do not want to spend time configuring their own computer to spend time doing what they want.
2013-05-17 21:05:41 +08:00
### How?
With the power of our community, we take the already awesome [fish shell][fish] to another level by creating simple-to-use plugins and themes.
[fish]: http://fishshell.com/
### What?
2013-05-19 11:48:11 +08:00
Oh-my-fish is a user-friendly framework for managing your fish-shell configuration. It includes optional plugins (brew, git, rails, python, node, etc) and themes.
2013-05-17 21:05:41 +08:00
2015-02-01 13:10:30 +08:00
< br >
2013-05-17 21:05:41 +08:00
## Installation
Oh-my-fish is built for recent versions of the fish shell, namely "fish 2.0".
2015-01-30 08:06:05 +08:00
```fish
curl -L https://github.com/bpinto/oh-my-fish/raw/master/tools/install.fish | fish
```
2013-05-17 21:05:41 +08:00
2015-02-01 13:10:30 +08:00
If you want to install it manually, [keep reading ](#manual-installation ).
2013-05-17 21:05:41 +08:00
## Usage
2015-02-15 03:08:16 +08:00
Enabling a new plugin or theme is as easy as it should be. Open your fish configuration file `~/.config/fish/config.fish` and specify the theme and the plugins you want to use.
2013-05-17 21:05:41 +08:00
2015-02-15 03:08:16 +08:00
As an example, to enable rails and git plugins add this line `set fish_plugins git rails` to your configuration file.
Before setting down on a theme, you might want to have a go with all themes using our quick [theme switcher ](https://github.com/bpinto/oh-my-fish/blob/master/plugins/theme/README.md ) by typing `theme --help` on your shell.
2013-05-17 21:05:41 +08:00
## Customization
If you have many functions which go well together, you can create custom plugin in the `custom/plugins/PLUGIN_NAME`
directory and add to it as many functions as you want.
If you would like to override the functionality of a plugin distributed with oh-my-fish,
create a plugin of the same name in the `custom/plugins/` directory and it will be loaded
instead of the one shipped with oh-my-fish.
2014-05-10 22:31:03 +08:00
If you would like to use your custom theme, move it with the same name in the `custom/themes/` directory
2014-04-17 04:01:38 +08:00
and it will override the original theme in `themes/` .
2013-05-17 21:05:41 +08:00
If you just want to override any of the default behavior or add some environment variables,
just add a new file (ending in .load) into the `custom/` directory.
## Send us your theme!
2015-01-30 08:06:05 +08:00
We are hoping to collect a bunch of themes for our command prompts. You can see existing ones in the [themes ](themes/ ) directory.
> __Note__: Theme authors, make sure to include a screenshot in your pull request.
2013-05-17 21:05:41 +08:00
### Manual installation
1. Clone the repository
2015-02-01 13:10:30 +08:00
```fish
git clone git://github.com/bpinto/oh-my-fish.git ~/.oh-my-fish
2013-05-17 21:10:34 +08:00
```
2013-05-17 21:05:41 +08:00
2. Create a new fish config by copying the fish template we've provided.
2015-02-01 13:10:30 +08:00
```fish
cp ~/.oh-my-fish/templates/config.fish ~/.config/fish/config.fish
2013-05-17 21:10:34 +08:00
```
2013-05-17 21:05:41 +08:00
3. Start / restart fish (just open a new terminal)
2015-01-14 00:25:40 +08:00
## Uninstall
2013-06-21 10:49:24 +08:00
rm -rf ~/.oh-my-fish