iTerm2 vs. Terminal

Xander Dunn
Jan 6, 2015 · 3 min read

Above is a comparison with the same bash profile open in both Terminal.app on the left and iTerm2 on the right, with Solarized theme for vim, Terminal, and iTerm2, with these settings in .vimrc:

syntax enableset background=darkcolorscheme solarized

Notice the lack of t_Co or g:solarized_termcolors settings. These should both be unnecessary in either of these terminals. I’ve set both apps to use Consolas 13pt. font. Notice that considerably more lines of text are visible in iTerm2. It looks like iTerm2's line height is considerably shorter. Whether this is good or bad is a matter of taste.

Click for a closer look:

Terminal.app
iTerm2

medium.com both scales and compresses these images, so for a proper comparison you can look at the original screen resolution image of Terminal.app and iTerm2.

For comparison, I’m using Terminal.app as the baseline because it’s what I’m used to.

I’ve seen better/worse performance claims for both apps, but I’ve never seen any reproducible data. In my casual testing I noticed no differences.

iTerm2 Good

  • 24bit color support is nigh. It’s already in the nightly builds of iTerm2. This means we’ll be able to have full GUI-like colors in vim (once vim supports it too), thus effectively outmoding MacVim for me. But, the nightly builds are very unstable (as they should be), so this is a feature worth waiting for.
  • iTerm2 has a built-in keyboard shortcut to go to its window. Very convenient! You can do the same by creating an Automator script for Terminal, but it’s a pain.
  • It’s a lot more customizable. For example, I can tell it to shut up and never show me warning dialogues when I’m closing a tab or quitting the app when there’s a running process. Customizability ends up being pretty important for serious developers who are always in the terminal.
  • iTerm2’s jump to cursor feature can be very helpful. When you just get back to the screen, rather than darting around with your eyes to look for the cursor, you can easily bring attention to it.
  • iTerm2 has mouse support. Although I’ve mostly got my hands on the keyboard, there are times when it’s nice to select cursor position or selection with the mouse. For example, this is nice for scrolling through and selecting text in tmux bash history, which can’t be done with the mouse in Terminal.app.
  • After using the two for a while, I think drawings (text as well as lines, etc.) look sharper in iTerm2.

iTerm2 Bad

  • Tabs look really bad.
  • I’ve seen some wonky redrawing. Open a small iTerm2 window. Open a file in vim with lots of syntax highlighting, like the one shown above. Now maximize the iTerm2 window. The full redraw looks clunky. Not very important though.
  • There’s some chance it will break with a major Mac OSX release. It would be interesting to know if this has ever happened in iTerm’s past, but there’s always a good chance that Apple will change things out from under a third party, thus breaking the app.

My Current Choice

Although when I first wrote this I had chosen to stick with Terminal.app, I find myself currently using iTerm2! Although aesthetics are important to me and I really dislike iTerm2's tabs, I find myself using panes in tmux more and more and often I don’t have any more than one tab anyway. I’d love to see some data that iTerm2 actually performs better. When iTerm2 has 24bit color support in stable releases, I’ll go bananas for it!

    Xander Dunn

    Written by

    A democracy of genes.

    Welcome to a place where words matter. On Medium, smart voices and original ideas take center stage - with no ads in sight. Watch
    Follow all the topics you care about, and we’ll deliver the best stories for you to your homepage and inbox. Explore
    Get unlimited access to the best stories on Medium — and support writers while you’re at it. Just $5/month. Upgrade