iToto's Blog

A Montreal based full-stack web developer who loves learning and trying out new things. This blog is my attempt to document my work as well as a place to discuss ideas or topics that I find interesting. Feel free to follow me on linked social networks.

Goodbye bash; Hello zsh

Prologue

Back when I was in computer science in cegep, there was this one student who everyone idolized. There's usually one in every class. You know, the ones who always get perfect grades while never showing up to class. Or they play video games and re-compile their linux kernel when they do decide to show up. Well for me, that was Sean: a hacker who knew just as much about programming as most of the teachers did, and always did what he wanted to do.

I remember this one day, I walked into class and saw him working on his custom kernel compiled, gentoo flavored, Linux box. (try to say that 3 times fast). Before that moment, I never really cared for Unix and had absolutely no desire to use the shell. Sean changed that from the moment I saw his screen.

The bright colours, the cool prompt. It looked like something straight out of "Hackers". It was elite. I wanted in.

At that point, I knew what bash was and had written some simple #!/bin/bash scripts. But his shell was different. His shell had a cool prompt. His auto-complete was... well it was awesome! Nothing like I had ever seen on a bash shell. I had asked him how he got his shell to work like that. And he replied with one word: zsh.

My first thought was: "woa, this must be way too advanced for me". Being intimidated, I never really gave zsh a shot, and played it safe by sticking with bash.

The Present

Almost a decade later, I’m still using the bash shell – then, last week it happened again.

A friend of mine invited me to a JS meet up where two programmers were talking about require.js and browserify. During one of the demos, they had open up their iTerm2 shell and my eyes lit up. “Woa! How did he get his shell to look like that?? His auto-complete even shows suggestions while he’s typing his command!”

I came home, and immediately started searching the web, trying to find out how he configured his iTerm. And sure enough, I found the answer: zsh. I came across this article and immediately started throwing commands at my terminal. Within minutes I was up and running in zsh.

In retrospect, I really should have tried zsh when Sean told me about it. It is by far the best shell I have ever used. If any of you are in the same position I was, I suggest you install it and give it a shot. Like all tools, it takes some getting used to. But once you’re in, you’ll never look back.

Edit

For those that have installed and are using ZSH, here is a useful blog post that I came accross with some handy .rc lines

TL;DR.

Go here. Do what it says. Be happy.