A community-driven framework for managing your zsh configuration.

oh-my-zsh is an open source, community-driven framework for managing your ZSH configuration. It comes bundled with a ton of helpful functions, helpers, plugins, themes, and few things that make you shout…


h2. Setup

@[email protected] should work with any recent release of “zsh”:http://www.zsh.org/, the minimum recommended version is 4.3.9.

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/robbyrussell/oh-my-zsh/raw/master/tools/install.sh | [email protected]

h4. via wget

@wget –no-check-certificate https://github.com/robbyrussell/oh-my-zsh/raw/master/tools/install.sh -O - | [email protected]

h3. The manual way

  1. Clone the repository

@git clone git://github.com/robbyrussell/oh-my-zsh.git ~/[email protected]

  1. OPTIONAL Backup your existing ~/.zshrc file

@cp ~/.zshrc ~/[email protected]

  1. Create a new zsh config by copying the zsh template we’ve provided.

@cp ~/.oh-my-zsh/templates/zshrc.zsh-template ~/[email protected]

  1. Set zsh as your default shell:

@chsh -s /bin/[email protected]

  1. Start / restart zsh (open a new terminal is easy enough…)

h3. Problems?

You might need to modify your PATH in ~/.zshrc if you’re not able to find some commands after switching to Oh My Zsh.

h2. Usage

h2. Useful

the “refcard”:http://www.bash2zsh.com/zsh_refcard/refcard.pdf is pretty tasty for tips.

h3. Customization

If you want to override any of the default behavior, just add a new file (ending in @[email protected]) into the @custom/@ directory. If you have many functions which go well together you can put them as a *.plugin.zsh 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-zsh, create a plugin of the same name in the @custom/plugins/@ directory and it will be loaded instead of the one in @plugins/@.

h3. Updates

By default you will be prompted to check for updates. If you would like oh-my-zsh to automatically update itself without prompting you, set the following in your ~/.zshrc

@[email protected]

To disable updates entirely, put this in your ~/.zshrc

@[email protected]

To upgrade directly from the command line, just run @[email protected]

h3. Uninstalling

If you want to uninstall it, just run @[email protected] from the command line and it’ll remove itself and revert you to bash (or your previous zsh config).

h2. Help out!

I’m far from being a zsh-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. (Don’t) Send us your theme! (for now)

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

We have enough themes for the time being. Please fork the project and add on in there, you can let people know how to grab it from there.

h2. Contributors

This project wouldn’t exist without all of our awesome users and contributors.

Thank you so much!

Related Repositories



oh-my-zsh Powerline style Theme ...



Oh My Zsh plugin for Elixir, IEX, Mix and Phoenix ...



My favored oh-my-zsh theme. ...



Neos Flow Plugin for Oh-my-ZSH ...



Yet another virtualenv prompt plugin of oh-my-zsh. ...

Top Contributors

robbyrussell sjl To1ne fred-o geoffgarside jmatth curiousstranger betawaffle imajes hakanensari caarlos0 oknowton henryyan thcipriani mrtazz ptillemans sorin-ionescu svnlto steeef jace Gonzih clauswitt trcjr gerhard sunaku JNRowe loopj jimhester bitboxer eddorre