Oh, my shell? Oh My Zsh

By Matt Layman on May 28, 2015

Do you ever think about what program is running your terminal? For a long time, I knew the answer for most Linux / OS X systems was bash, a shell program. But what else is available?

Aside from the occasional script, I didn’t pay much attention to bash. bash helped me get around my computer and autocomplete stuff, and that felt like enough. This was profoundly shortsighted.

Heavy command line users should think about their shell. I finally devoted time to shell research, and I became a Zsh convert.

Zsh is the power user’s weapon of choice. It has an amazing set of features that go far beyond bash. For example, cd ~/p/h followed by a tab will quickly expand to cd ~/projects/handroll/ on my computer. Zsh is smart enough to determine what you mean when you want to change directories so you can type fewer characters.

On top of Zsh being awesome, it also has some great tools to extend its awesomeness. One popular tool for the shell is Oh My Zsh. OMZ offers many plugins and themes that make Zsh excel even more. I’ve added the git and virtualenvwrapper plugins to my setup, and they’ve already been a huge boon. There are hundreds more.

Want to try out Zsh? Go for it with these commands:

$ sudo apt-get install zsh
$ chsh -s /bin/zsh # Change shell to zsh.
$ curl -L \
    https://raw.github.com/robbyrussell/oh-my-zsh/master/tools/install.sh | sh

If you want to chat about this with me, I'm @mblayman on Twitter.

Matt Layman

Matt is the lead software engineer at Storybird.

Always eager to talk about Python and other technology topics, Matt organizes Python Frederick in Frederick, Maryland (NW of Washington D.C.) and seeks to grow software skills for people in his community.