Hacker News new | past | comments | ask | show | jobs | submit login
ITerm2 1.0 Released (iterm2.com)
248 points by creativeembassy on July 7, 2011 | hide | past | web | favorite | 114 comments



I've been using this replacement for Terminal.app while it's been in beta, and it's fantastic. It natively supports splitting, windowing, and tabs, and it has great keyboard shortcuts for navigation between all of your windows. It also has fullscreen mode (and top-of-screen mode) if you like to dedicate a Space to it. There's a Solarized theme for it if you're into that sort of thing. It supports Growl if you can't stand not being bugged about unnecessary information (or you can turn it off if you're the productive type).

This is the very first thing I install on a new Mac for development. I highly recommend it.


Terminal.app has tabs, at least as of Snow Leopard. Also does split panes (but they are the same session). I use Terminal quite a lot but have not found it lacking enough to consider replacing it.


One feature of iTerm that we've come to depend on is 'Send input to all sessions'.

Don't use it often, but I'm glad it is there.


That pretty much sums it up. I've set a global hotkey on ⌘+P to show iTerm on fullscreen (with all my tabs and custom configurations) and I love it =). Much kudos to the developers!


Wow, I had absolutely no idea iTerm did window splitting natively. I had been using dvtm for a while. Thanks for the tip!


Notice that this is iTerm2, which I believe is a fork of iTerm, further developed by different people than the original iTerm.


Yep I've been running iTerm2. I suppose I've just never looked for the window splitting.


How does it work with growl?


In my experience, it Growl-s notifications like "new data received in tab 2" - of course, the color of the session label on the tab shows that, too.


some other resources for those interested in terminal apps, what are some others?

Guake: http://guake.org/

Yakuake: http://kde-apps.org/content/show.php?content=29153

Visor: http://visor.binaryage.com/

SIMBL: http://www.culater.net/software/SIMBL/SIMBL.php

Solarized: http://ethanschoonover.com/solarized


Solarized color theme for OS X Lion Terminal.app: https://github.com/tomislav/osx-lion-terminal.app-colors-sol...


If you're using Terminal.app and SIMBL, there's also Mouseterm: https://github.com/brodie/mouseterm

and TerminalColors (http://blog.fallingsnow.net/2009/08/28/fixing-colors-in-term...)


Woah was just looking and undeciced at the available iTerm palletes from the gallery and Solarized (dark for me) seems just what the doctor ordered


Thanks for the link to Solarized. I had never heard of it before, but I'm now trying it out for Textmate.


I wasn't a fan of iTerm "1". What's new in 2? Someone got a summary? I don't see it on their site.


I switched to terminal from iTerm 1. I switched to iTerm 2 from terminal because of:

- true split windows (cmd-d horizontal, cmd-shift-d vertical), as many as you can fit

- good split window navigation (cmd-opt-arrow)

- "save" window split setup - cmd-shift-s to save, cmd-shift-r to restore

- better search, all from the command line

- full 256 color support without any hacks

- copy to clipboard on selection option (similar to windows shell if you're familiar with that)

- fullscreen mode with cmd-enter

- better speed than iTerm 1 (comparable to terminal, the reason I switched to it in the first place)

(I don't think I've remapped the above keys, but if I have, easy key remapping is another nice thing about iTerm2 :)


The "Instant-Replay" (View->Go back in time) can be a handy little feature if you've ever wanted to look up something that turns out not to be in the scrollback because it was a full-screen app running on the alternate screen buffer, or whatever. It's also good for checking out /when/ something happened, after the fact.

I've not used it much, but when I've needed to, it's been a lifesaver.


For the curious, from what I've seen Terminal in Lion has 256 color support and (kind of shitty) full-screen support.


I'd actually disagree - I think the fullscreen support is really good. What didn't you like about it?


I'm used to either Visor or iTerm providing "instant" full-screen terminal access, but taking apps full-screen in Lion seems to involve a nearly tedious animation.

Granted, now that I think about it, I have seen a bug that makes Spaces-switching slow, so it's possible I'm just seeing the same thing in the full-screen animation.

To put it another way, the result is fine, I just don't like the transition.


I wish there were a way to turn off most transitions in OSX. Anyone know some hack?


So tmux with a shiny 200x200 icon?


One of the features slated for v1.1 or thereabouts is deep integration with tmux.

http://code.google.com/p/iterm2/wiki/TmuxIntegration and https://docs.google.com/document/d/1ABI0kqUUxoAjxhWW3AsWFis6... have some details on how it might work.

(Also, learn the difference between a terminal multiplexer, and a terminal emulator :p)


> (Also, learn the difference between a terminal multiplexer, and a terminal emulator :p)

What difference the name makes? If this shiny new terminal emulator is touting something which a terminal multiplexer already does, from a user perspective, his reply is legit.


A terminal multiplexer is a way to create and access multiple ttys from a single terminal (-emulator). Both of the most widely known (GNU Screen and tmux) are terminal-only apps - They require a terminal or terminal emulator to act as their user interface.

Terminal emulators, as the name suggest, emulate terminals. Since most people don't tend to use dedicated VT100s any more, we use emulators like xterm, rxvt, Terminal.app, etc instead.

A mux without an emulator to access it is pretty useless, whereas an emulator with some mux features can provide benefits not easily achievable with a standalone multiplexer.

One example would be mouse-based text selection. Using vertical splits in tmux, and triple-clicking to select a full line will select the contents of both split regions, whereas a GUI app can limit it to one region. I'm sure there are plenty of other features.


> A terminal multiplexer is a way to create and access multiple ttys from a single terminal (-emulator).

Thanks. I know that and use screen, and the post we are discussing mentions tmux, so he knows it as well.

> whereas an emulator with some mux features can provide benefits not easily achievable with a standalone multiplexer.

The op was being snarky but that was the whole point. iterm2 doesn't seem to be giving something which we(in a generic sense; I use linux and have nothing to do with iterm) want and aren't already doing in the current emulator/multiplexer setup.

> One example would be mouse-based text selection. Using vertical splits in tmux, and triple-clicking to select a full line will select the contents of both split regions, whereas a GUI app can limit it to one region. I'm sure there are plenty of other features.

I don't use tmux but that's the behavior in gnu screen vertical split as well.


>> A terminal multiplexer is a way to create and access multiple ttys from a single terminal (-emulator).

> Thanks. I know that and use screen, and the post we are discussing mentions tmux, so he knows it as well.

You asked what the difference was. I told you.

>> whereas an emulator with some mux features can provide benefits not easily achievable with a standalone multiplexer.

> The op was being snarky but that was the whole point. iterm2 doesn't seem to be giving something which we(in a generic sense; I use linux and have nothing to do with iterm) want and aren't already doing in the current emulator/multiplexer setup.

Yes, I got that as well. My point is that it is in fact nothing at all like "tmux with an icon"; It's a terminal emulator, which happens to:

a) be better in various ways than hte Terminal.app that ships with OSX (256-color support, for a start. See upthread for many more).

b) have some features which overlap with dedicated terminal muxes, like tmux. If you look at the links I mentioned, the idea is to make iTerm recognise you're using tmux (even on a remote host), and translate its split panels into GUI split panels, amongst other things.

So yes, it does (or will) provide additional features.

>> One example would be mouse-based text selection. Using vertical splits in tmux, and triple-clicking to select a full line will select the contents of both split regions, whereas a GUI app can limit it to one region. I'm sure there are plenty of other features.

>I don't use tmux but that's the behavior in gnu screen vertical split as well.

Precisely. But iTerm2, being a GUI terminal emulator, can do that. That is a feature.


> You asked what the difference was. I told you.

I didn't ask what the difference was. I asked what difference it makes what difference the name makes in context of knowing the difference between tmux and iterm2 - what is terminal emulator and what is terminal mux and what is a combo, as long as it gives me what I want.

I believe the discussion was centered around why would someone switch to iterm2.


So you don't think a term emulator on MacOS X is useful to you because you use Linux.

And the insight of your comment was exactly what?


> So you don't think a term emulator on MacOS X is useful to you

Where did I say that? The discussion was about if iterm2 has needed features which an existing emulator/mux combination doesn't have.


I use it with tmux. The main reason I use it is because of its full screen support and the unixy behavior for focus follows mouse, copy on select, middle button paste.


Different behavior for left/right alt is a must for me:

- Left-Alt = Meta/+Esc

- Right-Alt = OS X Alt

I built an .inputrc/.zshrc so that text/word/line movements behave the same as in Cocoa text fields, like Ctrl+Left/Right and Alt+Left/Right.

Had I done that under Terminal.app, I would have given up on being able to type characters like | (Alt+Shift+L) or ~ (Alt+N) on my French keyboard, which would make a terminal much, much less useless.


funny i've been using iTerm2 for a while now and didn't knew it had split windows built in, main reason i used it was the speed, and it allowed me to have different scheme of colors.


Its a fork, and its basically completely different now. I reccomend giving it a try. I use it because of the more powerful keyboard binding, but it has many other features.

edit: no idea why i thought it was googles fork. corrected.


The main iTerm 2 guy works at Google


It's fast. iTerm 1 was __very__ slow, and if you code in vim (not gVim or MacVim) because you like to ctrl-Z/fg like me, you have to try iTerm 2. It's Terminal with a real fullscreen mode and the support of 256 colors. Plus some nice other things (autocomplete...).


You might like the combination of MacVim and DTerm (http://decimus.net/DTerm).


The key binding configuration makes it pretty straightforward to use command as meta for things like bash readline without changing it system wide or a using separate key remapping program (a la keyremap4macbook). I also find the ability to pass messages to growl via escape sequences to be quite handy.


The one that does it for me is Cmd-1, -2, -3, etc. jumping to the first, second, third, etc. tab within the current window. Terminal.app's behavior is to jump to the window numbered that way -- often across spaces -- which would always drive me crazy.



+1. This is a great OSX terminal app. I love how quickly it has grown and improved.

I encourage more folks to try it out. You'll love the color themes, split windows, built-in visor hot-keys, and more.


I downloaded iTerm2 about 20 minutes ago and I already love it. Anybody know of any downsides of using it over Terminal.app?


I have a hard time changing functionality of the alt key between alt and meta. I Terminal.app I just go to preferences and it is there. Here it takes a little more..


Prefs->Profiles->Keys->{Left,Right} option key acts as: [+Esc]


Preferences -> Keys -> Remap Modifier Keys

For anyone who is interested.


I'm not aware of any downsides, and I've been using iTerm2 for quite a while (a year?... haven't kept track of time).


iTerm 2's visor mode was still a bit wonky so I keep Terminal.app around just for visor. But that was when I was using the alpha and beta versions.

I've been using iTerm as my main vim screen for over a year now. iTerm 2 alpha chugged right along for this.


    #container { margin: 0 15%; }
looks much better as

    #container { margin: 0 auto; }
I expect downvotes but its a great app and it deserves a great website.


Does the font rendering seem very different to anyone else? Using the same font (Anonymous Pro 14pt), I had to increase the vertical spacing from 1.0 (as it was in iTerm) to ~1.18 to get the same spacing. Bold is rendered differently (worse) too. It does seem quite a bit snappier on my old G5 though.

Comparison shot: iTerm on the left, iterm2 on right: http://i.imgur.com/9yA8y.png


Yep, it's different. AFAICT there is no "correct" way to lay out text in Cocoa, but this approach has pissed off the fewest people :-/


Off-topic: Something interesting about the aesthetics of text to point out here. I had to double-take which you said was left and which was right. I was sure that you were saying the left was iTerm2, because to me the one on the right has clearly superior text rendering (especially the bold)!


Fiddle with the various anti-aliasing options, it should change back.


What app are you using to browse HN in CLI?


Probably lynx.

http://lynx.browser.org/


Looks like `links`.


Woot 0 cpu usage when it isn't doing anything!


I never got into iTerm1, was this an issue?


Oh yes double plus yes yes yes.


I don't use screen locally so when I ssh into boxes and use screen I'm not screen in screen and have to double-a. So I like tabs.

A feature that would be awesome (if it doesn't exist, by default at least it doesn't) is being able to have tabs per split.

OSX's window manager is so poor in my opinion that I would love to be able to have a full screen iterm2 but I like to have one terminal on the left and one on the right which has many tabs -- just helps with the cluster I'm dealing with. So without being able to have tabs only on the right split I have to use two iterm2s.

Just a thought.


I mainly use iTerm2 because, unlike Terminal.app, it has gpm support. Being able to use a mouse while editing files over an SSH connection, without having to think about it, is a big win.


Great job developers of iTerm2, it's really a pleasure to use on a day to day basis, if only it had really cool integration with tmux so I could actually use tmux instead of hate on it.


I have been using tmux with the beta. After a bit of key remapping it works great.


I have been using tmux occasionally to, but the key mappings kill me. I just want it to be one stroke, not chorded...so what I want really is for an iterm window to behave like a tmux session, with tabs being windows etc


ITerm2 combined with zsh and oh-my-zsh gives you super powers.


I agree. I was a bash user for the longest time and iterm2 with oh-my-zsh is the best thing ever.


I forked tmuxinator to generate the appropriate applescript that will set up iTerm according to your tmuxinator config: https://github.com/dkastner/tmuxinator/commit/c96d04d994cd8c...


Wow, looks like they've fixed most of the problems I had with it in the past. The one thing I still miss from yakuake is to be able to select split-panes by numeric hotkey. Seems like you can only do it for separate tabs and windows, but my preferred workspace is a 2x2 visor window.


There's a feature request open for this. Haven't figured out the details yet, but I want to make it easy to assign a keystroke to a session (like how RTS games let you define groups of vehicles/soldiers). Maybe in 1.1...


Been playing with it this evening and it will be replacing terminal for me. I also found this nice collection of themes to pimp it out a little:

https://github.com/baskerville/iTerm-2-Color-Themes


Good find! Here's the link to the Solarized color theme for iTerm2 as well.

https://github.com/altercation/solarized/tree/master/iterm2-...


Quick question - is it possible to underline links a let them be opened by single click?


It's an open feature request. The current issue is finding a way to do so efficiently. Adding a mouse tracking region for each link (and moving it every time you scroll) is impractical, and I'm not well enough versed in the display storage structures to know how easily you could get the bounding box of a link and hit-test for it without a performance hit.

Cmd-clicking them works though.


This looks great. Two questions:

- How does one change the background color for the panes that don't have focus? The black vs charcoal distinction is a bit too subtle for me.

- Is it possible to map command-` to cycle between panes? If so, how?


1) I don't think you can change the colour, but you can adjust the dimming level with:

defaults write com.googlecode.iterm2 SplitPaneDimmingAmount -float 0.25 # [range from 0-1.0, lower is darker]

Maybe add a feature request for a 'inactive panes colour' widget to be added to the Profile colours tab.

NB: Changing the dim amount seems to require a restart of iTerm to take effect.

2) Set a global keybinding (Prefs->Keys-> + button) to 'Select Menu Item...' from the very bottom of the list, and specify 'Next Pane' (no quotes) in the text field.


thanks!


I find iTerm/iTerm 2 invaluable for full screen mode, ability to turn off scroll bars (and still have a scroll back buffer--can't do this in Terminal.app and it kills me), and copy-on-select.


Awesome! iTerm + zsh... If only I could disable the scrollbar :/ On a related note, is there a show/hide animation like Visor too? I liked the "slide in/slide out" animation a lot.


The visor-like mode is enabled if you dock it to a window-edge (prefs->profile->window tab, 'style = top of screen' setting). System-wide hotkey settings are in Prefs->Keys

There's also a 'hidden' setting for the animation delay, settable with

`defaults write com.googlecode.iterm2 HotkeyTermAnimationDuration \ -float 0.25`


Thank you! Being able to shorten the animation is the only thing I felt was missing. The default animation is way too long for my taste.


You can hide the scrollbar. Preferences -> Appearance -> Check "Hide scrollbar and resize control"


Is there a changelog somewhere obvious that I'm missing? It appears I've gone from 0.20 to 1.0, what am I getting here? The one in the source tree appears to be quite out of date.


I believe most of the features in their feature list were added since 0.2. I'm reading this now, and finding features that I've been needing and didn't realize they were done already.

http://www.iterm2.com/#/section/features


They're using the forum to announce changes: http://groups.google.com/group/iterm2-discuss?pli=1


I'd like to try iTerm2, but "groups" in Terminal.app is a must-have feature for me.

Anyone know of a workaround for iTerm2 that will let me save a group of windows and starting commands?


There's Applescript support, so you could probably cobble together a script that'd launch your multiple windows & commands.

There's also Window->Save Window Arrangement, but I believe that only allows for a single arrangement.

Feel free to add a feature request at http://code.google.com/p/iterm2/issues/list (There's plans for eventually moving everything over to github, but the issues will get migrated too)

I'm working on improving the preferences UI and back-end, but I'm learning obj-c and Cocoa as I go, so it's a slowish process :)


I've created a quick fork of tmuxinator (originally used for defining sessions for tmux) to also generate iTerm setup scripts: https://github.com/dkastner/tmuxinator


I use screen for that, although scripting it is a pain in the ass. I'm considering trying tmux out.


iTerm2 currently supports a single group at the moment (called a Window Arrangement). If you need more than one, then applescript is your best bet for now.


The SVN repo doesn't have a tag for version 1.0. I know it's a quibble, but it's useful for people who maintain package managers like Macports. :(


Fixed now. Googlecode truncates the listing in the web view, but it's under tags/v1_0_0


Thank you! It's now updated in Macports, as well. :)


iTerm 2 is essential.


I just think it's interesting that iTerm2 has one author, but iterm2.com has three.


http://code.google.com/p/iterm2/wiki/Credits has a comprehensive list of contributors, but (I think) the fork from iTerm to iTerm2 and vast majority of the development has been done by George.

Regarding the website, I'd guess a couple of people volunteered to make it shiny and accessible, but the docs and whatnot were (and mostly still are) on the googlecode project wiki.


split pane seems to require configuration since default is "cmd+d" which is set to be shown desktop on some mac.


How do I switch between split windows?


See the options under Window -> Select Split Pane (which also gives you their keyboard shortcuts) from the menu-bar.

You can customise them locally (per-profile) or globally via the preferences as well.


Cmd-[ and Cmd-] navigate split panes in chronological order. Cmd-Opt-Arrow keys navigate through space.


I find turning on 'focus-follows-mouse' to be a great asset. Then I just hover over the pane I want.


Cmd+Opt+Arrow keys


happy beta user here rolling zsh with tmux and solarized. Looks great, works great


-1, click through three pages to get from "Download" to an actual download.


I love iTERM!


You have to be kidding me, right? This app is so bloated and unpolished—it really doesn't feel like it belongs on the Mac. I'll take OSX Lion's sleek Terminal.app over iTerm any day. My favorite new feature, it lets you customize ANSI colors!

Screenshot of Lion Terminal:

http://akhun.com/seo/skitch/kenneth_%E2%80%94_vim-20110707-1...

Edit: I know I'm going to get tons of downvotes for this. But it's my opinion that something sleek and simple is much more powerful than something with tons of bells and whistles, especially when it doesn't look very good.

Edit2: To all those who bring up window splitting, the default terminal app does it too, as well as native fullscreen:

http://akhun.com/seo/skitch/Screen_Shot_2011-07-07_at_12.30....


My iTerm2 looks exactly like that screenshot, and is available now (unlike Lion).


I think only a few things in iTerm2 are really unpolished. That said, when a tool becomes part of how you do work for 14+ hours a day, feature-set and efficiency can matter more than simplicity and intuitiveness. After all, that's why we're using a command line in the first place! Terminal itself doesn't really "feel like it belongs on the Mac".

I wouldn't want to spend all that time in a terminal without native screen splitting, just to pick one example of a cool iTerm 2 feature.


Lion's terminal app is a beach ball nightmare on this machine. Hitting tab to complete a directory in bash results in a 3-second pause every time. Longer if the directory doesn't exist.

I wondered if it was my new SSD, but it doesn't happen in iTerm, so I guess not.


May I ask what is so bloated and unpolished? Back up your dribbling. I have been using iTerm for a while now and it's as fast normal Terminal. It has profiles. It has 256 colors so I can use the same VIM colorschemes.


C'mon, please at least share with everyone what features you find are "bloat".


Have you used it recently? It was really buggy/slow a few months ago, but has improved drastically.


I've been using it since last 7 months. This version definitely seems speedier, I'm talking about the lags in bringing up new tabs/windows in previous versions.

Moreover I love the simplicity of its key combinations - CMD + left right.

CMD+^+E -> A nice expose style overview for all your tabs.

Though their search is horribly slow.


I really like Profiles and Split Horizontally/Vertically


btw, your second screenshot shows a fake vertical split, the vertical split is from vim, not from Terminal.app


What are these downvotes you speak of?




Registration is open for Startup School 2019. Classes start July 22nd.

Guidelines | FAQ | Support | API | Security | Lists | Bookmarklet | Legal | Apply to YC | Contact

Search: