The Fish Shell Framework
Go to file
2013-03-15 15:11:19 +01:00
custom fixing example custom load file format 2013-02-07 09:31:59 -02:00
plugins Allow http://localhost:$port to be opened in the default browser using either the port number for common ports or lh for an arbitrary port. 2013-03-12 18:52:26 +00:00
templates Replace non-existent git plugin with bundler in template used to generate config.fish 2013-03-04 09:06:35 +00:00
themes add the agnoster theme by agnoster ported to fish shell 2013-03-15 15:11:19 +01:00
tools install tool 2013-03-03 02:33:40 -03:00
.gitignore add my custom theme 2013-01-13 16:49:28 +00:00
oh-my-fish.fish automatically loaded files should not have the suffix '.fish' otherwise fish thinks they are functions 2012-08-15 23:40:07 -03:00
README.textile Documentation update about automatic installer 2013-03-03 03:07:41 -03:00

A handful of functions, auto-complete helpers, and stuff that makes you shout...


bq. "OH MY FISH!"

h2. Setup

@oh-my-fish@ should work with any recent release of "fish":http://ridiculousfish.com/shell/

h3. The automatic installer... (do you trust me?)

You can install this via the command line with either `curl` or `wget`.

h4. via `curl`

@curl -L https://github.com/bpinto/oh-my-fish/raw/master/tools/install.sh | sh@

h4. via `wget`

@wget --no-check-certificate https://github.com/bpinto/oh-my-fish/raw/master/tools/install.sh -O - | sh@

h3. The manual way


1. Clone the repository

@git clone git://github.com/bpinto/oh-my-fish.git ~/.oh-my-fish@

2. Create a new fish config by copying the fish template we've provided.

*NOTE*: If you already have a ~/.config/fish/config.fish file, you should back it up: @cp ~/.config/fish/config.{fish,orig}@ in case you want to go back to your original settings.

@cp ~/.oh-my-fish/templates/config.fish ~/.config/fish/config.fish@

3. Start / restart fish (open a new terminal is easy enough...)

h3. Set fish as your default shell

1. Add fish to the list of login shells

@grep -q '^/usr/local/bin/fish$' /etc/shells; or echo '/usr/local/bin/fish' | sudo tee -a /etc/shells@

2. Set fish as default shell

@chsh -s /usr/local/bin/fish@

h2. Usage

* enable the plugins you want in your @~/.config/fish/config.fish@ (take a look at @plugins/@ to see what's possible)
** example: @set fish_plugins autojump git@
* Theme support: Change the @fish_theme@ environment variable in @~/.config/fish/config.fish@.

h3. Customization

If you want to override any of the default behavior, just add a new file (ending in @.load@) into the @custom/@ directory.
If you have many functions which go well together you can put them as a *.fish file in the @custom/plugins/@ directory and then enable this plugin.
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 in @plugins/@.


h3. Uninstalling

If you want to uninstall it, just remove the installation folder @rm -r ~/.oh-my-fish@ from the command line and restore your previous fish config file.

h2. Help out!

I'm far from being a fish-expert and suspect there are many ways to improve. If you have ideas on how to make the configuration easier to maintain (and faster), don't hesitate to fork and send pull requests!

h3. Send us your theme!

I'm hoping to collect a bunch of themes for our command prompts. You can see existing ones in the @themes/@ directory.



h2. Oh My ZSH

This project is heavily inspired (cloned) on "oh-my-zsh":https://github.com/robbyrussell/oh-my-zsh/

Thank you so much!