mirror of
https://github.com/ohmyzsh/ohmyzsh.git
synced 2026-02-20 03:02:29 +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
- Shell 98.4%
- Python 1.5%
|
|
||
|---|---|---|
| cache | ||
| completions | ||
| custom | ||
| dot_files | ||
| lib | ||
| log | ||
| plugins | ||
| templates | ||
| themes | ||
| tools | ||
| .gitignore | ||
| .project | ||
| MIT-LICENSE.txt | ||
| oh-my-zsh.sh | ||
| README.textile | ||
This is a Forked version of Oh-my-zsh. I (Stibbons) maintain this fork against the following repos: bchretien https://github.com/bchretien/oh-my-zsh.git (fetch) bchretien https://github.com/bchretien/oh-my-zsh.git (push) bors-ltd https://github.com/bors-ltd/oh-my-zsh.git (fetch) bors-ltd https://github.com/bors-ltd/oh-my-zsh.git (push) cadusk https://github.com/cadusk/oh-my-zsh.git (fetch) cadusk https://github.com/cadusk/oh-my-zsh.git (push) dlintw https://github.com/dlintw/oh-my-zsh.git (fetch) dlintw https://github.com/dlintw/oh-my-zsh.git (push) jeroenjanssens https://github.com/jeroenjanssens/oh-my-zsh.git (fetch) jeroenjanssens https://github.com/jeroenjanssens/oh-my-zsh.git (push) kipanshi https://github.com/kipanshi/oh-my-zsh.git (fetch) kipanshi https://github.com/kipanshi/oh-my-zsh.git (push) origin https://Stibbons@github.com/Stibbons/oh-my-zsh.git (fetch) origin https://Stibbons@github.com/Stibbons/oh-my-zsh.git (push) sjl https://github.com/sjl/oh-my-zsh.git (fetch) sjl https://github.com/sjl/oh-my-zsh.git (push) styx https://github.com/styx/oh-my-zsh.git (fetch) styx https://github.com/styx/oh-my-zsh.git (push) upstream https://github.com/robbyrussell/oh-my-zsh.git (fetch) upstream https://github.com/robbyrussell/oh-my-zsh.git (push) ysmood https://github.com/ysmood/oh-my-zsh.git (fetch) ysmood https://github.com/ysmood/oh-my-zsh.git (push) Why do I do that? I want the cuting edge zsh for my git workflow, so I select the best from every available repository (thanks github!) and I merge it with my own salt. I also have a bunch of aliases and plugins for my own workflow : repo, pylint, python, git,... I'm very satisfied with the command workfow this fork provide. Also, the access of the git command is pretty easy since they are basically just sortened version of the complete command. So when you have to work on a computer that does not have these aliases, you can still work (but decrease your productivity, but that's why we use aliases!) Here are some samples: h2. Classic Git Project # cd myproject # gfa # dear git, fetch me all remotes # # hack hack hack # gg # dear git, please show me a nice gui so I can select the lines I want to commit and enter the commit message # # rehack # gga # dear git, I changed my ming, let met amend my last commit # # new hack # gg # gP # dear git, push these changes to my remote (gp is reserved for git pull) h2. Git-Repo Project (Android) # rsrra # dear repo, repo sync all project and rebase everything with auto stash. # (hack) # gg # dear git, commit my change # ru # dear repo, please upload everything change to the remote h2. Merging # git merge <tab><tab><tab> # dear git, please merge this branch to mine (conflict araises) # gmt # dear git, show me what's wrong! # # kdiff3 show me what's wrong, Ctrl+2/Ctrl+3 to choose the solution, modify the code, Ctrl+Up/Down to jump to next conflict, and then save # gg # dear git, commit my changes (edit the commit message) # gp # dear git, push that to my remote h2. Upstream merging # gmum # git merge upstream master # gmt # gg # gP h2. Rebase / fixup / squash / reorder / split commit history # gr2 # dear git, let me edit you history up to 2 commits behind (git rebase -i HEAD~2) # gr4 # dear git, let me edit you history up to 4 commits behind (git rebase -i HEAD~4) # gr10 # dear git, let me edit you history up to 10 commits behind (git rebase -i HEAD~10) h3. Text search # sgrep "substring" . h1. Official Oh My Zsh README @oh-my-zsh@ is an open source, community-driven framework for managing your "Zsh":http://www.zsh.org/ configuration. It comes bundled with a ton of helpful functions, helpers, plugins, themes, and a few things that make 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*. If not already installed, you can install "Zsh":http://www.zsh.org/ using the command-line. 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 http://install.ohmyz.sh | sh@ h4. via @wget@: @wget --no-check-certificate http://install.ohmyz.sh -O - | sh@ h4. *Optionally*, change the install directory: 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@ h3. The manual way 1. Clone the repository: @git clone git://github.com/stibbons/oh-my-zsh.git ~/.oh-my-zsh@ 2. *Optionally*, backup your existing @~/.zshrc@ file: @cp ~/.zshrc ~/.zshrc.orig@ 3. Create a new "Zsh":http://www.zsh.org/ config file by copying the "Zsh":http://www.zsh.org/ template we've provided: @cp ~/.oh-my-zsh/templates/zshrc.zsh-template ~/.zshrc@ 4. Set "Zsh":http://www.zsh.org/ as your default shell: @chsh -s /bin/zsh@ 5. Start or restart "Zsh":http://www.zsh.org/ by opening a new command-line window. 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@. If you installed manually or changed the install location, check the @ZSH@ environment variable in @~/.zshrc@. h2. Usage * enable the plugins you want in your @~/.zshrc@ (take a look at the @plugins/@ directory and the "wiki":https://github.com/robbyrussell/oh-my-zsh/wiki/Plugins to see what's available) ** example: @plugins=(git osx ruby)@ * theme support: change the @ZSH_THEME@ environment variable in @~/.zshrc@ ** take a look at the @themes/@ directory and the "wiki":https://wiki.github.com/stibbons/oh-my-zsh/themes to see what comes bundled with @oh-my-zsh@ * & much, much more… take a look at the @lib/@ directory to see what @oh-my-zsh@ has to offer… h2. Useful The "refcard":http://www.bash2zsh.com/zsh_refcard/refcard.pdf is pretty useful for tips. h3. Customization If you want to override any of the default behaviors, just add a new file (ending in @.zsh@) in the @custom/@ directory. If you have many functions that go well together, you can put them as a @*.plugin.zsh@ file in the @custom/plugins/@ directory and then enable this plugin (see '"Usage":https://github.com/robbyrussell/oh-my-zsh#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 in @plugins/@. h3. Updates 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@. h3. Uninstalling 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":http://www.zsh.org/ configuration). h2. Help out! I'm far from being a "Zsh":http://www.zsh.org/ 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 – 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!