Max Al Farakh Blog

My Mac OS X Terminal.app Setup

Oct 31 2011 :: by Max

This post is not intended to show my complete Terminal.app setup, but to provide you with the best tools out there, which I’ve found after some research. I love doing stuff in Terminal and it’s a major part of my work day, if you do too, than I hope you’ll find some usefull things here.

TotalTerminal

TotalTerminal

TotalTerminal (formerly known as Visor) is a very handy plugin for the bult-in Mac OS Terminal app. The most important feature of it is setting, that let’s you assign a system wide hotkey (ctrl + ` by default) for showing and hiding terminal window, this hotkey will also work on every space. As a bonus you’ll get TerminalColours plugin installed, which basically makes colored output in Terminal.app look way more pretty. TotalTerminal is fully Lion compatible, so go install it now, this is an absolutely must if you launch terminal at least once a day.

UPD: A couple of people are suggesting to check out iTerm 2, which is also quite good, you might wanna take a look.

Zsh

Zsh can be thought of as an extended Bourne shell with a large number of improvements. You’ve probably already heard of Zsh, all the cool kids seem to be using it and we, as command-line hipsters, should use it too. Z shell offers you lots of awesome stuff – it corrects your spelling, autocompletes command parameters (yeah, not only filenames, but also commands parameters, how cool is that!), shares your history across all running shells and more.

The good news is you can switch to Zsh right now, it’s preinstalled on Mac OS, no need to compile anything from the sources or whatever. Go to System Settings ? Users & Groups, right click your user and choose Advanced Options, then set Login shell to be /bin/zsh and you’re done. After re-login you’ll get zsh prompt when you launch Terminal.app.

If you’re using bash and, for whatever reasons, don’t want to learn anything, there are good news for you too. There is no learning curve, no different syntax, all bash hotkeys are working, there is nothing that can stop you from switching to Zsh right now. Continue using it as you’ve used to and gradually discover new awesome features.

Oh my Zsh

Alright, we’ve got our Z shell up and running, it’s time to customize it! You’re probably ready to fire up vim and start editing config files, but wait a second, I’ll try to save you some time. Oh-my-zsh is a set of functions, auto-complete helpers and other useful stuff. Also it is a very good framework for further customizations.

Oh-my-zsh comes with a handful of plugins for different apps – git, rails, ruby, gem and lots more. Every plugin has a set of aliases, auto-complete helpers and functions. For example, you can type gst for git status, or type rdbm for rake db:migrate db:test:clone and so on. Plenty of good stuff for free. Also it has tons of themes pre-installed. Theme is a custom command prompt and terminal colors, almost every theme has current git repository info built into the prompt. Check out the entire list of themes with screenshots on github.

And a little more just to get you started.

This command reveal your top ten most used terminal commands. It’s probably a good idea to create aliases out of them.

Here’s my list. Share yours in the comments.

321 cd
254 git
124 rails
51 sudo
22 rvm
22 ls
22 gem
16 subl
12 mate
12 irb

Got any tips or tricks for Terminal in OS X? — a long list of Mac OS X specific terminal commands. Loads of cool stuff in there.

What zsh features do you use? — a small thread at superuser.com with lots of usefull zsh snippets.


'My Mac OS X Terminal.app Setup' was written by Max by Max. co-counder


comments