In the age of GUI development tools, why use the terminal?
Developing in the terminal still has some benefits over standard desktop development environments. You can complete complex operations in a few keystrokes, customize the entire editor, and completely eliminate the need to use a mouse while programming. In this article I will share my current terminal setup. I believe that I’ve arrived at a powerful, efficient and enjoyable environment after some experimentation.
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.
Switch from bash to the zsh shell for better autocompletion and path expansion, spelling correction, and more.
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
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:
Now I type: