Zsh - 27 Jun 2012

If you’re currently using the bash shell and looking for some additional features, I’d highly recommend Zsh. Zsh is a shell that’s very similar to bash; however, it offers a number of improvements and support for very useful plugins.

If you want to switch to Zsh, the Oh My Zsh framework is a great tool for getting started. You can find the project on Github. It offers a wide range of plugins and themes that you can use to customize your shell.

Configuration for Zsh is done in the ~/.zshrc file. In this file you can customize your theme, as well as plugins that you want to load. Here’s an example:

# Path to your oh-my-zsh configuration.

# 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.

# Example aliases
# alias zshconfig="mate ~/.zshrc"
# alias ohmyzsh="mate ~/.oh-my-zsh"
# Set to this to use case-sensitive completion
# Comment this out to disable weekly auto-update checks
# Uncomment following line if you want to disable colors in ls
# Uncomment following line if you want to disable autosetting terminal title.
# Uncomment following line if you want red dots to be displayed while waiting for completion
# 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 bundler)
source $ZSH/

# Customize to your needs...
export PATH=/Users/mockra/.rbenv/shims:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/usr/X11/bin
export NODE_PATH=/usr/local/lib/node_modules
eval "$(rbenv init -)"

As you can see from my example file, I’m currently using the wedisagree theme, as well as the git and bundler plugins. You can find a listing of currently available themes and plugins on the Oh My Zsh Wiki.