mirror of
https://github.com/ohmyzsh/ohmyzsh.git
synced 2025-12-26 02:12:33 +01:00
🙃 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.
cli
cli-app
hacktoberfest
oh-my-zsh
oh-my-zsh-plugin
oh-my-zsh-theme
ohmyzsh
plugin-framework
plugins
productivity
shell
terminal
theme
themes
zsh
zsh-configuration
this should not break the old way of putting git info in the prompt.
Also changed awesomepanda theme to use the new scm architecture.
for users:
this works the same as plugins: the scms variable is set in ~/.zshrc with a list of SCM for which info should be displayed in the prompt, as simple as that.
for theme developers:
instead of calling the git_prompt_info function, you can call the get_scm_prompt, which will display info for all the scms in the scms variable.
the following variables can be used in the old git-way:
ZSH_THEME_SCM_PROMPT_PREFIX: before everything but the scm's name (svn, git, ..)
ZSH_THEME_SCM_PROMPT_SUFFIX: after everything
ZSH_THEME_SCM_PROMPT_DIRTY: displayed when the repo is dirty
ZSH_THEME_SCM_PROMPT_CLEAN displated when the repo is clean
by default, the name of the scm (git, svn, ...) is not displayed before the scm info, but this can be changed by setting the ZSH_THEME_SCM_DISPLAY_NAME to 1.
for scm-plugin developers:
to make an scm plugin with the name 'foo':
add a script called 'foo.scm.zsh' in to the scm folder. this script has to contain two functions:
scm_in_foo_repo: checks wether we are in a foo repo, usually by checking if a .foo folder is present
scm_foo_prompt_info: returns the prompt which follows the rules outlined above (in the "for theme developers"-section)
|
||
|---|---|---|
| custom | ||
| lib | ||
| log | ||
| plugins | ||
| scm | ||
| templates | ||
| themes | ||
| tools | ||
| .gitignore | ||
| oh-my-zsh.sh | ||
| README.textile | ||
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?) @wget http://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":http://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 good together you can put them as a *.plugin.zsh file in the @plugin/@ directory and then enable this plugin. 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. Thanks * Rick Olson (technoweenie) might remember some of the configuration, which I took from a pastie a few years ago. * Marcel (noradio) provided Rick the original zsh configuration. * Nicholas (ulysses) for the "rake autocompletion code":http://weblog.rubyonrails.org/2006/3/9/fast-rake-task-completion-for-zsh. 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. 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.