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 a few things that make you shout…
“OH MY ZSHELL!”
oh-my-zsh
should work with any recent release of Zsh. The minimum recommended version is4.3.9.
If not already installed, you can install Zsh using the command-line.
You can install this via the command-line with either curl
or wget
.
curl
: curl -L http://install.ohmyz.sh | sh
wget
: wget --no-check-certificate http://install.ohmyz.sh -O - | sh
The default location is ~/.oh-my-zsh
(hidden in your home directory).
You can change the install directory with the ZSH
environment variable, either by running export ZSH=/your/path
before installing, or by setting it before the end of the install pipeline like this:
curl -L https://raw.github.com/robbyrussell/oh-my-zsh/master/tools/install.sh | ZSH=~/.dotfiles/zsh sh
1. Clone the repository:
git clone git://github.com/robbyrussell/oh-my-zsh.git ~/.oh-my-zsh
2. Optionally, backup your existing ~/.zshrc
file:
cp ~/.zshrc ~/.zshrc.orig
3. Create a new Zsh config file by copying the Zsh template we’ve provided:
cp ~/.oh-my-zsh/templates/zshrc.zsh-template ~/.zshrc
4. Set Zsh as your default shell:
chsh -s /bin/zsh
5. Start or restart Zsh by opening a new command-line window.
You might need to modify your PATH
in ~/.zshrc
if you’re not able to find some commands after switching to oh-my-zsh
.
If you installed manually or changed the install location, check the ZSH
environment variable in~/.zshrc
.
~/.zshrc
(take a look at the plugins/
directory and thewiki to see what’s available)
plugins=(git osx ruby)
ZSH_THEME
environment variable in ~/.zshrc
themes/
directory and the wiki to see what comes bundled with oh-my-zsh
lib/
directory to see what oh-my-zsh
has to offer…The refcard is pretty useful for tips.
If you want to override any of the default behaviors, just add a new file (ending in .zsh
) in thecustom/
directory.
If you have many functions that go well together, you can put them as a *.plugin.zsh
file in thecustom/plugins/
directory and then enable this plugin (see ‘Usage’ above).
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 inplugins/
.
By default you will be prompted to check for upgrades. If you would like oh-my-zsh
to automatically upgrade itself without prompting you, set the following in your ~/.zshrc
:
DISABLE_UPDATE_PROMPT=true
To disable upgrades entirely, set the following in your ~/.zshrc
:
DISABLE_AUTO_UPDATE=true
To upgrade directly from the command-line, just run upgrade_oh_my_zsh
.
If you want to uninstall oh-my-zsh
, just run uninstall_oh_my_zsh
from the command-line and it’ll remove itself and revert you to bash
(or your previous Zsh configuration).