
ITerm2 2.0 - gnachman
http://iterm2.com/news.html
======
jwr
ITerm is great. It really is. But I wish more time was spent on optimizations.
People these days seem to forget that terminals are often used for displaying
huge amounts of rapidly scrolling text and that speed is of paramount
importance.

To put this in perspective, my computer has two CPUs with 4 cores each, 24GB
RAM, a graphics card with 1600 Stream Processing Units (engine running at
850MHz) and 1GB of RAM, and yet it scrolls text in a terminal slower than my
386 machine 20 years ago.

~~~
sir-pinecone
This might be an unrelated problem, but I find that when I copy a large amount
of text and paste it into iTerm, it takes a long time to paste. This often
happens when pasting into Vim, so it could be a vim issue. For example,
copying the code of a Javascript library. When I do this in a text editor
outside of iTerm, it's nearly instantaneous.

~~~
ZeroGravitas
Vim will type every character you paste, one by one.

F12 should switch you to paste mode and paste it as a block, though on my new
Mac this was already mapped to some GUI function so I had to disable that for
it to work.

Some relevant info: [http://stackoverflow.com/questions/5585129/pasting-code-
into...](http://stackoverflow.com/questions/5585129/pasting-code-into-
terminal-window-into-vim-on-mac-os-x)

~~~
nobleach
Pasting into a buffer in insert mode is not the best idea. I've remapped
<leader>p and <leader>P to paste from the system buffer and it's just as fast
as yanking and putting text in Vim.

~~~
danudey
That doesn't work as well over SSH sessions though, which is where pasting
into vim really starts showing its limitations. Vim's normal inefficient
behaviour plus a link with latency is an unfortunate circumstance.

------
beltex
Awesome, congrats on the release!

Aside: _Check For Update..._ still gives 1.0.0.20140629 as the latest version.
Have to download a 2.0 build explicitly.

[http://www.iterm2.com/downloads.html](http://www.iterm2.com/downloads.html)

~~~
duskwuff
You have to switch _off_ development releases to get 2.0.

~~~
luxbock
Where does this option exist? I've been going through Preferences and every
other menu I could think of but could not find it.

~~~
stith
It's labeled "Prompt for test-release updates" on the General tab.

------
PaulMest
One feature I really wish iTerm2 2.0 would have introduced was better session
restoration support. With Terminal.app, you can issue a command like 'ls' and
then quit and re-open Terminal.app and the previous output from 'ls' shows up.
This is incredibly useful when you have to restart or if your system crashes
and you have some output that you wanted to preserve.

I see from the changelog that some type of restoration has been included:
"Support for OS 10.7 features including fullscreen, retina graphics, and
window restoration"... but upon actually trying it out, it doesn't do what
Terminal.app does.

~~~
kybernetyk
> One feature I really wish ...

It's open source. Why don't you add it yourself?

I wanted a borderless terminal and as I couldn't find one I hacked the
functionality into iTerm:
[http://i.imgur.com/jOc04sf.jpg](http://i.imgur.com/jOc04sf.jpg)

/edit: Wow, being downvoted for suggesting to hack something yourself on
Hacker News ... that's a new one. I guess I'll take a time out.

~~~
riquito
> It's open source. Why don't you add it yourself?

In your mind a developer can realistically contribute to any possible open
source project, whatever the language and the domain?

He may have to learn an humongous quantity of things to implement a feature
and then never use that knowledge anymore.

Founding the project while asking for a feature could be a better advice.

~~~
72deluxe
Wouldn't the learning be interesting though?

------
hayksaakian
to HN:

What changed you from "terminal.app is good enough" to "I prefer iTerm"?

Because that's what I'm asking myself.

~~~
tern
FWIW, I've tried switching to iTerm about 3 times and I've always to come back
to Terminal.app because it feels more "solid or "native" and it minimizes the
installation + configuration I need to do on a new machine to feel
comfortable.

~~~
ghshephard
Likewise - I _live_ in Terminal.app all day long, 4-6 hours at least, and for
some reason I always return back to Terminal.app - particularly now that I can
auto-rename tabs when I ssh into other other hosts (PROMPT_COMMAND='printf
"\033]0;remote_host\007"').

With that said, I'm going to give iTerm another try - the tmux support is
intriguing...

~~~
sandipc
> PROMPT_COMMAND='printf "\033]0;remote_host\007"'

thanks for this, didn't know this was possible!

------
teddyknox
The developers seem to really be promoting their deeper support for tmux
integration. I'm probably what you'd call a tmux noob, but after a few months
of using it on its own with minimal key remappings, I feel like my efficiency
with the keyboard-only UI has already surpassed any gains I might get from
sticking tmux integration with mouse support and tmux shortcuts. It's not that
I'm opposed to this integration, but that I don't think it goes deep enough.

Ideally, I think tmux would be inseparably integrated with the terminal
emulator, with no shims to add complexity to the UI. For instance, it irks me
that the workflow for integrating iTerm with tmux is running `tmux -CC` and
then leaving that window open in the background for as long as it runs. I'm
bothered by the fact that I have to run a command to begin the integration in
the first place. Wouldn't it be better to check a box in preferences that says
"Integrate with tmux if tmux is installed" and then from then on make sure
that the tmux concepts of sessions, windows, and panes deeply align with
corresponding concepts with iTerm?

------
dangayle
Besides Firefox, iTerm2 is my most used app, by far. I love the
customizability of it, the Visor mode, and how stable it it to work with. I've
used it so long, I don't even remember why I don't use Terminal.app any more.

------
IgorPartola
So did everyone here just download this piece of software over HTTP (no
HTTPS)? Why is it that large projects like this cannot spend 15 minutes
setting up hosting over HTTPS-only using a $10 (or even free) SSL cert? I love
me some iTerm but yikers.

~~~
gnachman
I've been putting this off for too long. Waiting to get the cert signed now...

~~~
IgorPartola
Thank you! That's awesome. I'll put it on my TODO to send you $10 in the next
week or so for the cost of the cert.

------
voltagex_
The tmux integration is a really interesting piece of work.

[https://docs.google.com/document/d/1ABI0kqUUxoAjxhWW3AsWFis6...](https://docs.google.com/document/d/1ABI0kqUUxoAjxhWW3AsWFis6bgvMoEbcTcA2N21ncmU/view?hl=en&authkey=COHZn78P)

[http://code.google.com/p/iterm2/wiki/TmuxIntegration](http://code.google.com/p/iterm2/wiki/TmuxIntegration)

~~~
INTPenis
Yes it's technically interesting but am I alone in thinking that it sort of
defeats the purpose of using tmux in the first place?

I use tmux partly because I come from a background of low resources, but also
because I want my essential tools to use as little resources as possible so
that they always work as well as possible on any system.

Yet iTerm proposes that you use their GUI tabs, split their GUI terminals
instead of drawing it all with tmux in one text console.

I guess you sacrifice some resources for usability.

~~~
crucialfelix
but the scroll wheel finally works

~~~
Jgrubb
A couple improvements I found in some other HN Tmux thread --

    
    
        set -g mode-mouse on
    
        set -g mouse-resize-pane on

------
kator
I love iTerm, couldn't live without it.. To me Terminal.app isn't much better
then PuTTY on Windows.

That said I'm a bit worried when I read stuff like "manipulate the pasteboard
remotely" and "performed when text matching a regular expression is received".
Are these potential security concerns and/or what is the performance impact of
regex'ing every single line of text etc?

~~~
chipotle_coyote
Naive question, but I keep trying iTerm and not being able to quite figure out
why I should switch. In the mid-2000s it was a much better program than
Terminal.app, but that doesn't seem to have been true for quite some time.
Terminal.app has tabs, 256-color mode, themes, full screen support, and as
people have mentioned in other comments, session recovery and _much_ better
performance. The only things I can think of offhand that that leaves in
iTerm's court -- at least in the 1.x series -- is tmux integration and
autocompletion. The latter I've never seen the point of (my shell does that
pretty well, thanks) and after trying the former it seemed like it was more
bothersome than just letting tmux handle everything on its own.

Okay: iTerm can put borders around its windows, which one of my friends says
Terminal.app's inability to do makes it unusable for him. But beyond that, I
just haven't been sold. (If that's the right phrase for free software. You
know what I mean.)

[Edit: I think the tmux integration was a 2.x-dev feature, so I must have been
using that. IIRC, I actually preferred tmux's own "window" handling.]

~~~
graffitici
The most important benefit for me is the "Hot key" feature. I used to have
Kuake back in my Linux days, and loved it. It's so much more convenient that
having many different screens, and switching between them via "Cmd-Tab". It's
gotten to the point where I very rarely open dedicated windows, unless I'm
doing some serious debugging or so.

For those who don't know about the hot key; I press "Ctrl-~" to have a
terminal screen dropdown from the top of the screen. You can have any number
of tabs and splits there. Pressing the same combination again closes it.

The neat thing is I know I can access the terminal with the same single
keystroke, no matter which app I am using. Does Terminal.app has this feature?

~~~
jamestnz
There is a tool named TotalTerminal (formerly "Visor") for the Mac which
extends Terminal.app and does exactly this. I even have control-~ mapped to
the behaviour. It seems pretty configurable, and hooks nicely into the prefs
window of Terminal itself. You can hit cmd-opt-F to temporarily switch the
current Terminal into full-screen mode, in case you need to delve into a
particular task.

Screenshot: [http://imgur.com/LiYdTu2](http://imgur.com/LiYdTu2) Prefs:
[http://imgur.com/YCDROa3](http://imgur.com/YCDROa3)

~~~
graffitici
Yes, I also used to have TotalTerminal. But I found that using iTerm from the
ground up was somehow more convenient than using TotalTerminal with the
regular Terminal. Don't quite remember what was the particular reason.

------
stephenitis
I like the idea of triggers. auto-highlighting the following regex's makes
life a bit better whille reading logs and traces.

. _[eE](rror|xception)._ highlight error lines :\d+ highlight line numbers in
ruby (captures bits of time stamps though...) [lL]ine \d highlight line
numbers in python

I bet there are more creative uses. please enlighten me.

~~~
john2x
I tried to use it with terminal-notifier[1], but couldn't get it to work :(
Would've been awesome though. (Notifications after build completes, etc.)

[1]: [https://github.com/alloy/terminal-
notifier](https://github.com/alloy/terminal-notifier)

------
mahmoudimus
Download link seems broken?
[http://www.iterm2.com/downloads.html/stable/iTerm2_v2_0.zip](http://www.iterm2.com/downloads.html/stable/iTerm2_v2_0.zip)

~~~
gnachman
Oops, I fat fingered something. Try again!

------
tlrobinson
Is there a good tiling window manager for OS X that has a feature like iTerm2
where I can drag and drop a tab on top of another to split it, and keep those
windows together?

I use Moom (previously Divvy) but they only really give you hotkeys for moving
windows around. Xmonad for OS X seems difficult to setup, and I'm not even
sure if it does what I want.

~~~
welldan97
Did you try
Amethyst([http://ianyh.com/amethyst/](http://ianyh.com/amethyst/))? So far I
was happy with it.

------
joshpadnick
First, thanks for releasing this! Second, silly question, but what is the
recommended way to navigate long commands? Is there a way to click my cursor
to a specific point, or a keyboard shortcut to navigate large blocks of words?
I tried OPTION+LEFT-CLICK, but sometimes it will have the effect of moving my
history to the current command.

~~~
girvo
I have Alt + Left and Alt + Right set to send `^[ b` and `^[ f` which are set
to move backwards one word in most readline-based apps (IIRC).

~~~
boomlinde
If you prefer vi-like editing and navigation over emacs, you can also use
readline in vi mode with "set -o vi".

------
macinjosh
Just tried out the tmux integration. Seems to be extremely buggy. The tmux
session would randomly detach and you have to have an extra window open the
entire time you are using the tmux integration. Nice idea but the execution
seems pretty hacky.

------
vok
2.0 is unfortunately missing inline images, the killer feature that's still
only in the nightlies:
[http://www.iterm2.com/images.html](http://www.iterm2.com/images.html)

------
canadev
So, I have this bash script that runs AppleScript that I use to start up a
bunch of servers at once, each in their own Terminal tab. At the heart of it
is this 'new-tab' function[1]. I don't really like AppleScript, and would like
to not use it.

Can I duplicate this functionality using iTerm, without using AppleScript?

[1] Here's the code; I cobbled it together from some StackOverflow snippet or
something:
[https://gist.github.com/anonymous/f16a46c327a14ec8a5b5](https://gist.github.com/anonymous/f16a46c327a14ec8a5b5)

~~~
remi
I built teamocil for this purpose.
[https://github.com/remiprev/teamocil](https://github.com/remiprev/teamocil)

~~~
tlrobinson
Warning: Teamocil may cause numbness of the extremities, short term memory
loss and may decrease your sex drive.

------
nasalgoat
I'm still using version 1 of iTerm because it has the side dock menu, which
allows me to maintain a list of the various servers I'd want to connect to,
and allows me to close sublists I don't need to see.

The last time I looked at iTerm2 it had a separate window where you had to
TYPE the name of the server you wanted, which is WAY more work than pointing
and clicking a single name in a side list.

The developers seemed to think the old side dock was bad and refused to add it
back in.

~~~
gnachman
Yeah, hierarchical tree-views suck. In the nightly builds (soon to be betas
for v3) tags can define a hierarchy by including slashes in their names.
They're also browsable in the toolbelt, which is just like 0.10's side-window.
It's mighty close to what you were used to.

~~~
nasalgoat
I see the Toolbelt - I'll try it out and see if it gives me similar
functionality. iTerm 1 has a ton of bugs that bother me so upgrading would be
nice.

------
chetanahuja
iTerm is what the Terminal.app should have been. Thanks to the devs for your
work.

------
itafroma
Dang, looks like there/s still no preference to disable creating a new window
when iTerm launches or is clicked on in the Dock. I only ever use iTerm via
system-wide hotkey (i.e. Quake-style HUD mode), and it's kind of annoying that
it automatically creates a duplicate window whenever it launches that can't be
hidden via the hotkey.

~~~
Froist
You need to create a saved window arrangement (Window -> Save arrangement)
with no windows open, then set this as the default arrangement in Preferences
-> Arrangements, and finally change the Startup preference to "Open default
window arrangement" (on the General tab).

~~~
itafroma
Wow, this is great: it still creates a new window when clicking on the dock,
but it no longer creates one on startup. That's still a lot better than
before. Thanks!

~~~
Froist
Ah, I work with iTerm hidden from the dock and purely in "Visor" mode. If I
actually want a regular window to keep around, I can create one by bringing up
the visor and then hitting Cmd+N.

------
jestinjoy1
Do we have something similar in GNU/Linux?

~~~
billiob
There is Terminology:
[http://enlightenment.org/p.php?p=about/terminology&l=en](http://enlightenment.org/p.php?p=about/terminology&l=en)

------
bluedino
Probably my most-used OS X program and the first thing I use when I setup a
new Mac. Terminal.app is just so...janky.

------
mooism2
Am I right in thinking that the tmux integration won't work if you use mosh?
(iTerm2 -> mosh -> tmux)

~~~
joeshaw
It appears so. Probably worth filing a bug about this, but I suspect that
something about mosh's terminal emulation filters out the VT100 command
sequences tmux uses to perform the handshake with iTerm2.

Details on the protocol are here:
[https://docs.google.com/document/d/1ABI0kqUUxoAjxhWW3AsWFis6...](https://docs.google.com/document/d/1ABI0kqUUxoAjxhWW3AsWFis6bgvMoEbcTcA2N21ncmU/view?hl=en&authkey=COHZn78P)

~~~
mooism2
I expect it would require explicit support from mosh.

------
john2x
I couldn't get the Triggers to work with terminal-notifier[1]. Bug? Or
something to do with terminal-notifier?

[1]: [https://github.com/alloy/terminal-
notifier](https://github.com/alloy/terminal-notifier)

~~~
Watabou
Works for me with pync: python -c 'from pync import Notifier;
Notifier.notify("hello")'

------
lobster_johnson
iTerm looks nice, but is there a reason to switch from Terminal.app? The
"jobs" sidebar looked great until I discovered that it only works for local
processes, for example.

Generally, it seems there is a lot of room for improvement in terminal apps
these days:

\- Probably upwards of 90% of my terminal work involves SSH, and it seems like
a huge missed opportunity not to integrate with SSH in any significant way.
iTerm doesn't even bother, whereas Terminal.app's "New Remote Connection" is
pretty useless. (It should at least be able to infer my commonly used hosts
from OpenSSH's known_hosts file.)

\- A terminal should be able to discover the currently running remote process,
or at least what host I'm connected to. Neither Terminal nor iTerm do this. My
tabs always say "ssh", and so I have to hunt for the right tab to find my
shell.

\- Persistent shells. Today, when I want to open a remote shell on a host, I
open a Terminal tab and do "ssh <host>". If something goes wrong with my
connection, I have to go back in manually, and the shell state is lost, and
any interactive program not running with "nohup" will probably have
terminated. If I close a tab and ssh back in, my state is also lost. If I want
multiple shells on the same box, I have to either use multiple tabs, or a
kludge like screen or tmux that tries to be a terminal within a terminal. I
want to ssh to a server and be exactly where I was.

\- No I/O integration. Why can't I cat a file into my terminal app in order to
copy or download the contents? Why can't I pipe a local file into a remote
shell?

\- Grepping. It would be swell if I could tell the terminal to filter its
current window contents by a pattern. I don't mean highlighting results, I
mean only showing lines matching a pattern. Often I end up doing "tail -f
some.log | grep foo", then "...grep bar", "...grep -C10 bar" because I'm not
quite what I'm looking for. With this built-in grepping feature, I could do
"tail -f some.log", set up a pattern in the terminal app itself, and I could
watch it display different matches interactively as I change the pattern.

~~~
deepGem
For managing SSH connections have you tried the profiles on iTerm ? It's not
exactly what you are looking for but might at least save you from repetitive
typing.

~~~
lobster_johnson
That doesn't solve the problem of having to create each one manually, when
there is a perfectly good list (known_hosts) lying around. I have several
dozens hosts I connect to almost daily.

(Yes, I do use tools like Puppet and dsh for configuration management, and
probably should use them more, but sometimes you have to get your hands
dirty.)

Unfortunately iTerm's solution is even less useful than Terminal's remote
connections, since in iTerm each profile have associated settings like colours
and cursor type, things which should be the same across all connections.

------
jawns
On the downloads page, the link text for the stable release says "iTerm2 2.0
(OS 10.6+, Intel-only)" but the description below it says "It requires OS X
10.7+ and an Intel CPU."

Can anybody confirm whether it works on 10.6?

~~~
jawns
Answering my own question: I downloaded it on 10.6 and it seems to work
correctly.

------
tlrobinson
Here's a short demo of the tmux integration:
[https://www.youtube.com/watch?v=m9j1GvZypq0](https://www.youtube.com/watch?v=m9j1GvZypq0)

------
SingAlong
If anyone else is wondering where the toolbelt is, once you enable toolbelt
with "Toolbelt" -> "Show toolbelt", you'll have to resize the iterm window.

~~~
meowface
I didn't have to resize anything for it to show up, for whatever reason.

------
bado
FYI, there are lots of color themes available for iTerm2 at
[http://www.iterm2colorschemes.com](http://www.iterm2colorschemes.com)

------
ricardobeat
> When you cmd-click on a filename in a diff, remove the a/ or b/ prefix and
> replace with the real directory to open the file.

Still doesn't work for me :(

------
pyre
"Check for Update" from the menu in iTerm tells me:

    
    
      iTerm 1.0.0.20140629 is currently the newest version 
      available.

~~~
sjm
As mentioned above, in Preferences -> General, untick "Prompt for test-release
updates", then run a check for updates again.

------
chenster
Can anyone convince me the benefit of iTerm2 over Terminal.app? I'm on an
Intel Mac. Thanks.

------
jake223
I'm getting a 404 when I try to download this. Anyone have the same problem?

------
dshep
Sweet look forward to trying out the new trigger and escape sequence features

------
snambi
Just downloaded and used it. It is better than Terminal.

------
jiyinyiyong
You page has some bug, try scroll down very quickly.. the page is jumping. I
like it BTW.

------
tdxAbc
This is cool~

------
neduma
Awesome & Thanks.

------
carlosvega
How about fish? I would like some of the fish features implemented in iTerm.

[http://fishshell.com](http://fishshell.com)

~~~
dschep
Fish is a shell & iTerm is a terminal emulator. Just use them together. Or am
I missing something?

