Javascript is required
5 min read

Boost Your Productivity By Using The Terminal (iTerm & ZSH)

Boost Your Productivity By Using The Terminal (iTerm & ZSH) Image

Using the terminal is one of the biggest productivity boosts you can gain in your daily work as a developer. If you know your shortcuts, you will be way faster than using the mouse. In this article, I want to show you my terminal setup and how I use it on a daily basis. The cover image shows my current setup in action.

I am a macOS user so the article is mainly focused on this operating system but most of the software I demonstrate is also available for Windows and Linux users.

Install Homebrew

Homebrew is the missing package manager for macOS (or Linux) and makes installing packages super easy.

To install it on macOS you just need to paste this command in your terminal:

/usr/bin/ruby -e "$(curl -fsSL"

After that you should be able to run brew, you can check the successful installation by running brew -v in your terminal:

1 brew -v
2Homebrew 2.2.4
3Homebrew/homebrew-core (git revision 22532; last commit 2020-01-31)
4Homebrew/homebrew-cask (git revision 19d828; last commit 2020-01-31)


I would recommend replacing the default in macOS by iTerm2.

You can install it using brew:

brew install --cask iterm2

Some of the best iTerm features:

  • Split your terminal into multiple panes which you can switch by hotkeys
  • Register a hotkey that brings the terminal to the foreground when you're in another application
  • A robust find-on-page feature
  • Different user profiles to save your window arrangements and more
  • Paste history that shows everything you’ve pasted into the terminal
  • and many more

ZSH and Oh My ZSH

Since macOS Catalina (10.15.2) the default shell is now ZSH instead of Bash. You can enrich ZSH by using the Oh My ZSH framework which provides some functionality that will boost your productivity:

  • Autocompletion by pressing Tab key which allows selecting available directories, commands and files. ZSH Autocompletion
  • Use alias commands, you can get a list of all available alias by running alias in your terminal
  • You can omit the cd (change directory) command: .. (instead of cd ..), ../.. (instead of cd ../..) / (for root directory) and ~ (for home directory)
  • take command creates a new directory and changes the path to it. Example: take testFolder is the same as mkdir testFolder && cd testFolder
  • Use - to quickly navigate between your last and current path
  • Many cool themes
  • A list of amazing plugins
  • Git integration
  • And many more...

You can install it using this terminal command:

sh -c "$(curl -fsSL"

Oh My ZSH can be configured via the .zshrc configuration file:

vi ~/.zshrc

My .zshrc configuration looks similar to this one:

1# If you come from bash you might have to change your $PATH.
2export PATH=$HOME/bin:/usr/local/bin:$PATH
4export JAVA_HOME="/Library/Java/JavaVirtualMachines/openjdk-11.0.2.jdk/Contents/Home/"
6# jenv
7export PATH="$HOME/.jenv/bin:$PATH"
8eval "$(jenv init -)"
10# Path to your oh-my-zsh installation.
11export ZSH=/Users/mhoffman/.oh-my-zsh
13# Set name of the theme to load. Optionally, if you set this to "random"
14# it'll load a random them