My Terminal Setup

Tools and tricks for a more productive terminal experience

iTerm 2

iTerm 2 builds upon the default Terminal application for OS X, adding more features like split pane view, autocomplete, and is more customizable in general.

I use the 14pt Inconsolata-g for Powerline font and a custom color scheme.


I’ve started using Vim as my default text editor, and has enhanced my development experience immensely. You can check out my notes on getting started with Vim.


Switch from bash to the zsh shell for better autocompletion and path expansion, spelling correction, and more.

I use the oh-my-zsh framework along with the Agnoster theme.


Tmux, short for “Terminal MUltipleXer”, allows you to use several panes and windows–each with its own shell session–in one terminal. Tmux also allows you to create sessions, useful for completely separating work environments. You can have separate sessions for your projects, and within each project have different windows and panes. This is a fantastic tool for organizing your windows I never knew I needed.


Homebrew is quite simply the missing package manager for OS X that makes it incredibly easy to install packages. If you don’t have it, go get it. Now.


Autojump makes it easy to navigate through directories by learning from your past cd’s.


Emmet is a huge timesaver when writing HTML and CSS code. It expands short abbreviations into complex code snippets. It has initializers, allows easy nesting and grouping, multiplication, numbering, etc.

Git add and commit alias

Most of the time when I type git add . -A, the command following it is git commit -m "COMMIT MESSAGE HERE".

I use an alias to simplify it:

git config --global '!git add -A && git commit'

Now I type:


Much better.