Have you ever being frustrated as a developer when you’re asked to run something in command line but get confused by the output in the window? Have you ever wished that you could change the display of the terminal to make it more intuitive for you without loosing out on functionality while beefing up what you can do with it?
All these problems were initially solved with ZSH which is an alternative terminal built directly into Unix but it didn’t quite solve everything until a simple idea came to be and that idea was oh-my-zsh, a powerful, intuitive, themeable plugin for ZSH that offers it’s plugins to make your workflow ever so simple.
The easiest way to install oh-my-zsh is via cURL which comes built into OS X by default now days.
curl -L http://install.ohmyz.sh | sh
If for some unknown reason you’re having issues installing oh-my-zsh you can try wget instead.
wget --no-check-certificate http://install.ohmyz.sh -O - | sh
If you continue to have issues try the manual installation which explains how to get started via git but normally running the cURL installer works just fine.
Now, how do I use it?
When you install oh-my-zsh it should by default automatically switch your shell from /bin/bash to /bin/zsh, the easiest way to determine if the shell type has changed is by simply quitting out of terminal completely and starting it again, if you see zsh in the title bar you’re one step closer to the perfect workflow.
However if you’re one of the unlucky ones and things didn’t change as excepted you can manually switch over to zsh by opening your Mac OS X system preferences, next select Users & Groups and ensure you unlock the security padlock, next right click on your user and you will see an advanced options menu appear like the below image.
Once you press advanced options you will be presented with the following screen.
From the login shell drop down select /bin/zsh, press the ok button to confirm the change and then restart terminal if you already haven’t.
Sanity check, it is working?
To check simply run the following command, oh-my-zsh changes the export path for zsh to the .oh-my-zsh directory in your home folder so you should see that in the output.
Changing the default settings
By default oh-my-zsh comes pre-packaged with a ton of hidden goodies including a ton of themes and plugins, you can explore all themes you can use by running the following command which will open a new finder window.
You can also see what plugins are available by simply changing themes to plugins.
Once you’ve found a theme you like you can enable it by editing the .zshrc file in your home folder, in this file you can change which theme you want to use, the plugins you need and more but for now I recommend you play around with a few themes by altering the ZSH_THEME value, make sure you keep the quotes around the theme name and ensure you leave off the .zsh-theme extension as it’s smart enough to add that on for us.
There are plenty of more values you can change and I do mean plenty as an introduction we won’t go into that.
Have fun, break it and try different themes from the internet, if you do happen to break it really bad don’t fear as you can uninstall it by running the uninstall command and then following the install instructions above.
One last thing is to simply have fun, I did and ended up finding my theme default by Remy Sharp and it’s changed how I perceive changes compared to before where a lot of commands came into play.