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.
tmux uses a file called tmux.conf to store it’s configuration.
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.