I should have switched long ago, but I kept stalling and didn’t want to fix something that wasn’t broken. But after realizing yesterday that Mac OS X ships an incredibly old version of bash (from 2006!), I finally switched to zsh. It was pretty easy, given that zsh works much like bash, and comes pre-installed on a Mac OS X. But as with everything new, my stress point was the time it takes to customize. Thanks to oh my zsh, it was painless. The only amount of time it took me was in selecting a theme.

  1. Download oh-my-zsh:

    $ git clone git:// ~/.oh-my-zsh
  2. Copy .zshrc template to the home folder:

    $ cp ~/.oh-my-zsh/templates/zshrc.zsh-template ~/.zshrc
    $ find ~/.zshrc -type f -exec sed -i 's/robbyrussell/steeef/g' {} \;
  3. Change shell to zsh:

    $ chsh -s /bin/zsh
  4. Refresh .zshrc and you are done:

    $ . ~/.zshrc

Changing from bash to zsh on Windows 7 + Cygwin. The following is the simplest and best way:

  1. Search for edit env in the Start menu search to find Edit environment variables for your account. Click on it.
  2. Click New… in User variables.. and in the following menu, enter:

    Variable name : SHELL
    Variable value: /usr/bin/zsh

    Press OK, and OK.

  3. Close and restart Cygwin Terminal, and it should start with zsh.