Installation
I love using Oh My ZSH in my terminal to use with GIT. This works faster than GIT UI programs like Tower. First of all you need to install ZSH and afterwards install Oh My ZSH. The minimum zsh version required for Oh My ZSH is 4.3.9
Install ZSH first:
Git is required. If you don’t have git installed you can download it from this location http://git-scm.com/downloads
git clone git://zsh.git.sf.net/gitroot/zsh/zsh
Installing Oh My ZSH via CURL
curl -L https://github.com/robbyrussell/oh-my-zsh/raw/master/tools/install.sh | sh
Or install Oh My ZSH via WGET
wget --no-check-certificate https://github.com/robbyrussell/oh-my-zsh/raw/master/tools/install.sh -O - | sh
If you don’t already have a ~/.zshrc file. You can create a file with that filename
Afterwards you can set ohmyzsh as your default shell:
chsh -s /bin/zsh
All you need to do then is restart your terminal and it should be using ohmyzsh than. You can tweak your ohmyzsh in the .zshrc file. This is what my .zshrc file looks like:
# Path to your oh-my-zsh configuration. ZSH=$HOME/.oh-my-zsh # Set name of the theme to load. # Look in ~/.oh-my-zsh/themes/ # Optionally, if you set this to "random", it'll load a random theme each # time that oh-my-zsh is loaded. ZSH_THEME="afowler" # Example aliases # alias zshconfig="mate ~/.zshrc" # alias ohmyzsh="mate ~/.oh-my-zsh" # Set to this to use case-sensitive completion # CASE_SENSITIVE="true" # Comment this out to disable weekly auto-update checks # DISABLE_AUTO_UPDATE="true" # Uncomment following line if you want to disable colors in ls # DISABLE_LS_COLORS="true" # Uncomment following line if you want to disable autosetting terminal title. # DISABLE_AUTO_TITLE="true" # Uncomment following line if you want red dots to be displayed while waiting for completion COMPLETION_WAITING_DOTS="true" # Which plugins would you like to load? (plugins can be found in ~/.oh-my-zsh/plugins/*) # Custom plugins may be added to ~/.oh-my-zsh/custom/plugins/ # Example format: plugins=(rails git textmate ruby lighthouse) plugins=(git) source $ZSH/oh-my-zsh.sh # Customize to your needs... export PATH=/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/usr/X11/bin:/usr/local/git/bin:/opt/local/bin ZSH_THEME_GIT_PROMPT_PREFIX=" on %{$fg[magenta]%}" ZSH_THEME_GIT_PROMPT_SUFFIX="%{$reset_color%}" ZSH_THEME_GIT_PROMPT_DIRTY="%{$fg[green]%}!" ZSH_THEME_GIT_PROMPT_UNTRACKED="%{$fg[green]%}?" ZSH_THEME_GIT_PROMPT_CLEAN="" # ------------------------------------------------------------------- # Git aliases # ------------------------------------------------------------------- alias ga='git add -A' alias gp='git push' alias gl='git log' alias gs='git status' alias gd='git diff' alias gm='git commit -m' alias gma='git commit -am' alias gb='git branch' alias gc='git checkout' alias gra='git remote add' alias grr='git remote rm' alias gpu='git pull' alias gcl='git clone' alias gta='git tag -a -m' alias gf='git reflog' # leverage an alias from the ~/.gitconfig alias gh='git hist' alias glg1='git lg1' alias glg2='git lg2' alias glg='git lg' # ------------------------------------------------------------------- # Capistrano aliases # ------------------------------------------------------------------- alias capd='cap deploy' # ------------------------------------------------------------------- # Symfony aliases # ------------------------------------------------------------------- alias symcl='php app/console cache:clear --no-debug' alias symcla='php app/console assetic:dump --no-debug' alias symaiaw = 'php app/console assets:install --symlink && php app/console assetic:watch' # ------------------------------------------------------------------- # OTHER aliases # ------------------------------------------------------------------- alias cl='clear' # ------------------------------------------------------------------- # FUNCTIONS # ------------------------------------------------------------------- # return my IP address function myip() { ifconfig lo0 | grep 'inet ' | sed -e 's/:/ /' | awk '{print "lo0 : " $2}' ifconfig en0 | grep 'inet ' | sed -e 's/:/ /' | awk '{print "en0 (IPv4): " $2 " " $3 " " $4 " " $5 " " $6}' ifconfig en0 | grep 'inet6 ' | sed -e 's/ / /' | awk '{print "en0 (IPv6): " $2 " " $3 " " $4 " " $5 " " $6}' ifconfig en1 | grep 'inet ' | sed -e 's/:/ /' | awk '{print "en1 (IPv4): " $2 " " $3 " " $4 " " $5 " " $6}' ifconfig en1 | grep 'inet6 ' | sed -e 's/ / /' | awk '{print "en1 (IPv6): " $2 " " $3 " " $4 " " $5 " " $6}' } # Change directory to the current Finder directory cdf() { target=`osascript -e 'tell application "Finder" to if (count of Finder windows) > 0 then get POSIX path of (target of front Finder window as text)'` if [ "$target" != "" ]; then cd "$target"; pwd else echo 'No Finder window found' >&2 fi }
Here you can find a list of plugins to enable in your oh-my-zsh: https://github.com/robbyrussell/oh-my-zsh/wiki/Plugins
I just used the git plugin here. Your terminal should now look something like this
I was having troubles setting zsh to my default shell using chsh-s/bin/zsh rather I had to input
hihow can set oh my zsh as defult for git ?