After several years working with Bash today, I decide to migrate to ZSH,
What is ZSH?
The Z shell (zsh) is a Unix shell that can be used as an interactive login shell and as a powerful command interpreter for shell scripting. Zsh is an extended Bourne shell with a large number of improvements, including some features of bash, ksh, and tcsh.
Now I’m going to migrate to Zsh on my Mac (this tutorial is about install Z shell and oh-my-zsh on Mac if you looking for another OS follow installation Zsh )
Step 1 : Install ZSH
Install zsh and Zsh-completions using homebrew
brew install zsh zsh-completions
Oh-My-Zsh is an open source, community-driven framework for managing your ZSH configuration. It comes bundled with a ton of helpful functions, helpers, plugins, themes, and a few things that make you shout…
Ok, it’s good let’s install Oh-My-Zsh
Step 2: install oh-my-zsh
Install oh-my-zsh on top of zsh to getting additional functionality, we can use curl:
sh -c "$(curl -fsSL https://raw.github.com/robbyrussell/oh-my-zsh/master/tools/install.sh)"
or wget:
sh -c "$(wget https://raw.github.com/robbyrussell/oh-my-zsh/master/tools/install.sh -O -)"
Step 3: configure oh-my-zsh
You can configure oh-my-zsh settings just by opening ~/.zshrc in a text editor.
You can find a lot of themes and plugins you can use to customize your shell experience in Oh-My-Zsh.
Themes: https://github.com/robbyrussell/oh-my-zsh/wiki/themes
Plugins: https://github.com/robbyrussell/oh-my-zsh/wiki/Plugins
As Example, I set Plugins on ~/.zshrc to
plugins=(git git-extras git-flow colored-man colorize github vagrant pip python brew osx zsh-syntax-highlighting npm docker django bower node sublime gira)
And Finally They right “Your terminal never felt this good before.“ :)