Terminal Setup to Boost Productivity

March 29, 2017   

Terminals are software developer’s best friend to boost productivity. Even in today’s age of super complex IDEs, having a highly productive terminal setup can vastly increase the pace at which you get your tasks done.

Here, I will cover my terminal setup which has vastly enhanced my productivity.


I recently ditched the default Terminal.app by OSX and replaced it with iTerm2 and I am definitely not going back.


Z Shell or Zsh is another shell implementation similar to Bourne Again Shell(BAsh) and also a scripting language. All features of BAsh are already integrated in Zsh.


sudo apt-get install zsh

If you face issue installing on Ubuntu, follow this thread.


brew install zsh

If you wish to understand why Zsh is awesome, check this desk by Brendon - Why Zsh is Cooler than Your Shell

Some useful links:

Adding plugins to Zsh

OhMyZsh - Get Oh My Zsh using the following command.

sh -c "$(curl -fsSL https://raw.github.com/robbyrussell/oh-my-zsh/master/tools/install.sh)"


It is a program which runs in your terminal and let’s you switch between several programs and do a lot more. More details about tmux are here.

Customising tmux

tmux uses a file called tmux.conf to store it’s configuration.

Here’s my tmux.conf.

set-option -g default-shell /bin/zsh

# Tmux uses a 'control key', let's set it to 'Ctrl-a'
# Reason: 'Ctrl-a' is easier to reach than 'Ctrl-b'

unbind C-b
set-option -g prefix C-a
bind-key C-a send-prefix

This is most basic customisation. You can do much more than this Read more here.

comments powered by Disqus