mirror of
https://github.com/ohmyzsh/ohmyzsh.git
synced 2026-02-20 03:02:29 +01:00
196 lines
8 KiB
Text
196 lines
8 KiB
Text
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
|
||
|
||
!https://s3.amazonaws.com/ohmyzsh/oh-my-zsh-logo.png!
|
||
|
||
@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!
|