🙃 A delightful community-driven (with 2,400+ contributors) framework for managing your zsh configuration. Includes 300+ optional plugins (rails, git, macOS, hub, docker, homebrew, node, php, python, etc), 140+ themes to spice up your morning, and an auto-update tool that makes it easy to keep up with the latest updates from the community.
Find a file
Max Bane 53854754e0 Revert "Fix to restore bindings after switching to vi-mode"
This reverts commit b609aa0e6c -- this commit
was a bad idea, because it makes vi-mode very difficult to use. The default
`bindkey` keybindings are NOT MEANT to coexist with `bindkey -v` Vi mode;
that's why `bindkey -v` clears them in the first place! Restoring all of the
default keybindings after enabling Vi mode, the way the reverted commit did,
causes many collisions between those default keybindings that begin with ESC
and the command-mode-initiating ESC of Vi mode. See Issue 1438 of
robbyrussell/oh-my-zsh. If people have custom keybindings, they should create
them in their ~/.zshrc AFTER enabling the vi-mode plugin and sourcing
oh-my-zsh.sh.

# Please enter the commit message for your changes. Lines starting
# with '#' will be ignored, and an empty message aborts the commit.
# On branch master
# Changes to be committed:
#   (use "git reset HEAD <file>..." to unstage)
#
#	modified:   plugins/vi-mode/vi-mode.plugin.zsh
#
2012-11-28 02:02:58 -05:00
custom fixes my wrong commit - fixes #1423 2012-11-25 20:34:12 -02:00
lib Improved statistics functions, effect: 2012-11-14 19:09:13 +08:00
log Adding a file into log/ so that we have a log file to record history to 2009-08-31 11:17:05 -07:00
plugins Revert "Fix to restore bindings after switching to vi-mode" 2012-11-28 02:02:58 -05:00
templates Merge pull request #776 from mytechnix/master 2011-12-26 10:09:09 -08:00
themes agnoster theme shows error code instead of an "x" 2012-11-03 05:05:38 -02:00
tools auto-upadate feature will now reset the epoch so that if a user doesn't say yes, it won't ask them again for a while. fixes #1240 2012-07-20 15:07:51 -07:00
.gitignore fixes my wrong commit - fixes #1423 2012-11-25 20:34:12 -02:00
oh-my-zsh.sh Load symlink custom files 2012-05-23 13:49:21 +09:00
README.textile Updating README to ask people to stop sending themes for now 2012-06-13 13:14:23 -07:00

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


bq. "OH MY ZSHELL!"

h2. Setup

@oh-my-zsh@ 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 | sh@

h4. via `wget`

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

h3. The manual way


1. Clone the repository

  @git clone git://github.com/robbyrussell/oh-my-zsh.git ~/.oh-my-zsh@

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

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

  @cp ~/.oh-my-zsh/templates/zshrc.zsh-template ~/.zshrc@

3. Set zsh as your default shell:

  @chsh -s /bin/zsh@

4. 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

* enable the plugins you want in your @~/.zshrc@ (take a look at @plugins/@ to see what's possible)
** example: @plugins=(git osx ruby)@
* Theme support: Change the @ZSH_THEME@ environment variable in @~/.zshrc@.
** Take a look at the "current themes":https://wiki.github.com/robbyrussell/oh-my-zsh/themes that come bundled with _Oh My Zsh_.
* much much more...  take a look at @lib/@ what _Oh My Zsh_ offers...

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 @.zsh@) 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. Uninstalling

If you want to uninstall it, just run @uninstall_oh_my_zsh@ 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.

* "View our growing list of contributors":https://github.com/robbyrussell/oh-my-zsh/contributors

Thank you so much!