
iTerm2 3.3 - tmvnty
https://iterm2.com/downloads/stable/iTerm2-3_3_0.changelog
======
IfOnlyYouKnew
Here's some comparison of input lag:

    
    
        # Title              Min    Max   *Avg*   SD
        1 iTerm 3.3.0beta16  11.2   33.6   15.9  3.4
        2 iTerm 3.2.9        10.8   29.5   21.3  4.5
        3 hyper 3.0.2        22.3   46.9   27.6  3.6
        4 Terminal 2.9.1      2.4    8.3    5.8  0.5
        5 Alacritty 0.3.3     5.2   16.8    6.3  1.4
        6 Kitty 0.14.3        7.7   11.6    9.6  0.8
    

Measured using
[https://github.com/pavelfatin/typometer](https://github.com/pavelfatin/typometer)

Edit: Added iTerm 3.2.9 (2) added alacritty (3) added Kitty

~~~
sonthonax
Could someone explain to me terminal performance and what these numbers
practically mean? It's a complete mystery to me. It's so incredibly variable,
the fact that I notice variability as a user really perturbs me, it's 2019,
and displaying a matrix of a few thousand characters is still a challenge.

I live in fullscreen iTerm, Tmux and Vim. I have 256 colours enabled. Vim has
lazy redraw enabled. I'm on a 2018 MacBook pro. Scrolling is smooth _only_
when connected to power (probably related to CPU throttling - but it's 2019
and it shouldn't matter). iTerm is significantly faster than Terminal when
resizing Tmux panes and Vim windows. I've had similar issues on Linux.

The only terminal emulator that has decent performance scrolling and resizing
Vim buffers Alacritty.

What's going on? Why is there a bottleneck here? Is it rendering the text? Is
that still hard to do in 2019? I don't understand the technical challenge of
parsing a protocol that would literally work on a real VT100 sans some escape
sequences and colours.

~~~
jakear
I have found iTerm to have _very_ bad performance relative to Terminal.app. I
honestly have no clue why its so popular, I cannot stand it.

~~~
jbverschoor
For me it’s only 1 feature: the profiles window. I configure them as ssh to
hosts. And then I have a decal/text in the corner + a color in the bg. But
most importantly is the favorites manager

~~~
uberduper
I do this in my ssh config to get what I assume is the same effect with the
iTerm badge.

    
    
      Host * !github.com
        LocalCommand printf '\e]7;file://%n/\a'
        PermitLocalCommand yes

------
ed
@gnachman Thank you for iTerm! Despite major workflow changes, iTerm has
remained my daily driver for years.

If you in a position to support free software, I kindly suggest donating to
George's Patreon:
[https://www.patreon.com/gnachman/](https://www.patreon.com/gnachman/)

------
stevewillows
When I moved back from the betas, the minimal theme is what I missed the most.
Its so clean. Combine that with the status bar at the bottom, and I'm in
heaven.

It's one of the few pieces of software that I really miss when I'm on my linux
boxes -- even if its purely aesthetic.

edit: if you want your status bar at the bottom, Prefs > Appearance > General
> Status Bar Location

~~~
eklavya
Don't see the status bar, or there isn't anything in the status bar :(

~~~
nammi
You might have to manually enable it for your profile

[https://www.iterm2.com/3.3/documentation-status-
bar.html](https://www.iterm2.com/3.3/documentation-status-bar.html)

------
eddyg
Kudos to Mr. Nachman on continuing to develop a terrific piece of macOS
software!

I've been running the 3.3 betas for a while and some of the new functionality
is really great. Exporting a recording of a terminal session from the "Instant
Replay" panel is very handy!

------
0xakhil
For a person who is comfortable with Tmux, is there any significant benefit
that iTerm offers over the Terminal.app? I believe Terminal.app is better than
other consoles when it comes to power consumption.

~~~
kccqzy
If you like tmux, you should try the tmux integration feature in iTerm. It
makes tmux windows native windows, and tmux panes native panes.

~~~
juandazapata
And what's the advantage of a native pane over a tmux pane? Could you clarify?

~~~
kccqzy
Being able to use native macOS shortcuts like Command-` to move between
windows. Native copy–paste. Focus-follow-mouse behavior for panes. Or just the
ability to see multiple tmux windows (not panes) at once. And perhaps most
importantly, the tmux windows actually look any any other window on macOS.

~~~
spraak
Huh, all those are features of tmux itself. I can copy/paste to/from system
clipboard, I can easily movie between windows (and could set in my tmux.conf
to use Command-` if I wanted), I can focus panes with the mouse, etc.

------
digitalsushi
If windows had iTerm2, I am pretty sure I could let my last mac go. Everything
we have for windows is as good as a piece of iTerm2, but none of them bring it
all together.

~~~
kv0
I'm pretty happy with ConEmu [0] and the linux-shell on Windows after years of
using OSX.

[0]:[https://conemu.github.io/](https://conemu.github.io/)

~~~
james-skemp
I use it since I view Cmder - [https://cmder.net/](https://cmder.net/)

Developer is responsive and it adds enough to the experience to make it
worthwhile as a wrapper.

------
tedmiston
Wow, the new Python API looks incredible.

[https://iterm2.com/python-api/](https://iterm2.com/python-api/)

[https://iterm2.com/python-api/tutorial/](https://iterm2.com/python-
api/tutorial/)

~~~
jarpineh
Yes. Now I can finally script shell and terminal colors changes for
day/night/late night. Tmux and status bar control API should let me get all
the magic out of Zsh prompt.

~~~
eddyg
see [https://iterm2.com/python-
api/examples/darknight.html](https://iterm2.com/python-
api/examples/darknight.html) and [https://iterm2.com/python-
api/examples/theme.html](https://iterm2.com/python-api/examples/theme.html)

~~~
jarpineh
Thank you! Just what I was wishing for.

Now I wonder if I could make Sublime Text / VS Code style command palette
within iTerm... Probably requires Python shell script as front. I didn’t yet
find mention of custom dialogs or the like in the API docs.

~~~
tedmiston
Not sure if there's extensibility yet but the View > Open Quickly palette is a
primitive start.

Do you have specific use cases in mind?

~~~
jarpineh
I was checking quick open actually for its possible extensions. It does
mention /s to "run script" but didn't find it mentioned in the docs.

I'm looking to get:

\- switch layout and run server/compile start commands and the like for given
project \- call my own shell scripts and assorted helpers from terminal's
context \- get Jupyter notebook running and console connected to it \- connect
to tmux session on host or start one with given layout if it isn't there \-
Kubernetes and Docker context in their own tabs \- Quick Open can probably
take care of finding tabs and ssh sessions so need to learn to remember it's
there

That's the first things I find myself constantly doing manually. Nothing that
can't be done, say, with regular shell and TMUX stuff, but those have so low
level control mechanisms. I'm hoping Python access to gives same power with
less work.

~~~
tedmiston
Oh interesting. I didn't realize it had slash commands either.

It's briefly mentioned under "View > Open Quickly" on
[https://www.iterm2.com/3.3/documentation-menu-
items.html](https://www.iterm2.com/3.3/documentation-menu-items.html):

> If you have lots of sessions you can quickly find the one you're looking for
> with Open Quickly. Select the View > Open Quickly menu item (cmd-shift-O)
> and then enter a search query. You can search by tab title, command name,
> host name, user name, profile name, directory name, badge label, and more.
> Queries are scored according to relevance and sorted by score. Open Quickly
> also lets you create new tabs, change the current session's profile, open
> arrangements, and change the color preset. If you start your query with a /
> then that gives you a shortcut to various commands. /a followed by an
> arrangement name restores the arrangement. /f restricts the query to
> existing sessions, excluding options to open new tabs, etc. /p restrics the
> query to profile names to switch the current session to. /t restricts the
> results to "open new tab" for matching profile names. /c restricts the
> results to color presets.

I think with /s and creating custom scripts you could wire up some of these
use cases.

------
dstroot
Anyone using Hyper? I played with it but pretty quickly reverted back to
iTerm2. In fact iTerm2 is basically the first thing I install on a new system
along with ZSH/Oh my ZSH.

~~~
IfOnlyYouKnew
Hyper is usable, and it has become rather fast when they switched the backend
a few months ago. It's real promise is in scriptability, and, unfortunately,
there aren't any must-have extensions for it.

I think there are quite a few low-hanging fruits for the terminal, such as
better integration with documentation or using an actually good language such
as ruby directly on the command line. If I ever get around to try some of
those ideas, I'd use Hyper as the platform.

~~~
tuananh
There is no reason for me to use Hyper really.

The reason I stick with VSCode even though it's slower than other editors is
because of the features.

Hyper has non of those.

------
tbrock
I like having options but wouldn’t recommend iTerm.

Apple’s Terminal.app is more performant rendering text and more responsive to
input while admittedly having somewhat less unnecessary features.

In fact, iTerm is one of the slowest terminals out there!

See: [https://danluu.com/term-latency/](https://danluu.com/term-latency/)

iTerm used to have a lot of really compelling stuff that was missing from the
official terminal like tabs, etc... that made straying away from the canonical
terminal app worth it but most of them eventually made their way to
Terminal.app so nowadays it’s mostly just fluff.

~~~
nullspace
Might be a dumb question, how do you split the terminal vertically or
horizontally, and hide and un-hide the split terminals on Terminal.app?
Without tmux or screen.

I have tried Terminal.app multiple times, but have come back to iTerm2 every
time because I've not been able to figure out how to do that.

~~~
Skunkleton
Disclaimer: I'm not poking at iTerm, its my MacOS terminal emulator of choice.

Why _not_ use tmux? It is pretty fantastic software, and IMO provides a much
better interaction model. iTerm itself is even integrated w/ tmux through
control mode.

~~~
nullspace
Hah - I probably should! I've been impressed every time I see coworkers using
it. Especially suspending and unsuspending remote sessions and everything.

When I'm on linux I end up using Konsole or Terminator (depending on the env)
which support this functionality. So other than the saving remote sessions -
which looks really cool - I've not had a strong impetus to learn tmux.

~~~
Skunkleton
Its worth learning IMO. There is a learning curve, and the default
configuration is unfriendly. If you are interested here are some things I
found helpful:

1) Rebind the prefix key from ctrl-b to ctrl-space. 2) Map
alt-h,alt-j,alt-k,alt-l to move between window panes. 3) Remap the split keys
to something more accessible. 4) Start numbering windows at 1 instead of 0
(makes switching more intuitive imo). 5) Steal a simple configuration for the
status bar from the internet.

Beyond that, the defaults are pretty straightforward, and you don't really
need to know much to get started. I can share my config if someone is
interested.

------
mevile
I have found the new design around the tabs to be very nice. The status bar
looks neat, but it doesn't seem to carry over to tabs created by tmux sessions
so I never see it. I also wish there was a way to put that status bar at the
bottom.

~~~
jpadif
There is a way, look in Apperance - General - Status bar location.

~~~
sdoering
Thank you so very much, stranger on the net. Was looking for this today.

------
Keyframe
I moved away from MacOS on my desktop/workstation to Linux and one of the
things I've missed actually was iTerm2. Really great terminal altogether.
However, I found a great replacement, even better in some ways - Kitty!

~~~
trm42
KDE’s terminal app Konsole is great and really ITerm-like at least with my
usage patterns.

------
ridiculous_fish
iTerm2 is a treasure. Such a great app.

The new minimal and compact themes look great. Is it possible to drag the
window when they are active? It looks like the drag region is reduced to a
small area around the stoplight buttons.

------
lordleft
iTerm2 is my go-to terminal on OS X. It used to be kind of sluggish but recent
iterations have been snappy, which is exactly what I need with the command-
line.

------
ibejoeb
Just switched back to Terminal.app because iTerm is a bit of an energy hog. I
run a pretty stock bash shell. Anyone else? Any tips for improving it?

------
jarpineh
I’ve been using betas for a while now. Update check don’t seem to notice new
releases so I was running old version for longest time before I noticed.
Speaks to beta cycle’s stability.

iTerm is one app that is always on and in use. Especially thanks to its fast
full screen switching and transparent tmux integration. I’ve been contributing
through Patreon and consider that money well spent.

------
throwaway13000
Thanks for the release. Excited about the scripting API. Sometime I wanted to
add "autocomplete" features to iTerms (just like on phones), but the
completion predictions will be sourced from stackoverflow. When user types a
part of the command, I was planning to add an extra line to the current list
of predictions (which are taken from bash command history). Unfortunately,
append operation was not supported because of the way the code was written(by
the time key is pressed, list is already populated and sent to the handler).
So, I could not proceed then.

Hopefully this python API fixes the problem.

~~~
gnachman
The API was originally designed for a third-party app to add autocomplete.
That never happened, but it should have everything you need.

~~~
throwaway13000
Looks like exactly my usecase. Thanks to third party for not completing!

------
buu700
iTerm is awesome, thanks for the great work! Using macOS without an
alternative to Yakuake would have been extremely painful.

Two pain points I'm running into with this release:

1\. The tab titles just say the profile name (in my case, "Quake-style")
rather than the foreground process name (bash, curl, etc.). It's subtle, but
annoying given that I've become accustomed to relying on that information to
quickly differentiate between tabs.

2\. When I close every open tab and then re-open iTerm with my hotkey (F12),
it starts off minimized and I have to drag the cursor over to the dock to
manually open the window.

------
weiming
"\- Add touch bar mitigations: haptic feedback, key click, and blink cursor
when touching esc."

Thank you for this! Can't believe how many times per day I accidentally
trigger touch bar Esc.

~~~
spraak
Because of the touch bar I was motived to switch Esc to Caps Lock (using
Karabiner Elements), but I have since switched it over on all my machines
(i.e. those without touchbars) because it's so convenient/ergonomic.

~~~
alxndr
I've enjoyed having Ctrl where Caps should be so much, and my right hand
missed having a Ctrl key on these small Mac keyboards, so I turned the Enter
key into Ctrl as well! (Possible as a Complex Modification in Karabiner: "post
left_ctrl when enter_or_return is held", so that tapping Enter is still
treated like the Enter key)

------
urda
First off, wow love the status bar idea.

Second, I'm not sure if this is a bug or a profile configuration I have, but
when I have my tabs to the left in the new minimal mode I think my terminal is
clipping the window bar:

[https://i.imgur.com/W94XwI3.png](https://i.imgur.com/W94XwI3.png)

Edit: possible GitLab issue
[https://gitlab.com/gnachman/iterm2/issues/7988](https://gitlab.com/gnachman/iterm2/issues/7988)

~~~
davidcollantes
How did you accomplish the tabs on the left?

~~~
urda
iTerm2 > Preferences > Appearance > General > "Tab bar location:" > Set to
"Left"

:)

------
locusofself
Honest question for the folks complaining about input lag, does this actually
effect your typing of text/commands into the terminal? I feel like I am
particularly sensitive to latency in the audio world (such as recording though
effects or using virtual instruments), but I work all day long in iTerm2 and
never once have I thought to myself that text is not appearing fast enough as
I type it. Is this problem exacerbated when like pasting a huge chunk of text
into vim or something?

------
unfunco
The new features after the app updated were introduced really well, I thought,
especially the try it now button beneath the screenshot of each feature. I
probably made an audible but quiet oooh at each of the features and enabled
all of them, and already have a couple of ideas for building some work things
for the status bar.

------
samf
Is anyone else having problems with vim? Specifically, I can't see my cursor
since upgrading.

I don't really remember what my cursor looked like before the upgrade; maybe
it was a red block? But now you can't see it.

My cursor outside of vim is fine.

------
cnxhk
imgcat is very useful for me. Glad they are still maintaining it.

~~~
BozeWolf
Yes! I love imgcat. When working on a project with lots of images, imgcat + mc
in iterm2 was a golden combination.

Never use tmux, just tabs in iterm.

------
numbers
I just enabled the status bar (in Session) but it seems to not show up for me.
I'm using a custom theme but I've tried the default themes.

------
dfeojm-zlib
Is there any way to disable this scripting API? It seems like an enormous
security hole.

~~~
gnachman
This has been considered. See here for details:

[https://gitlab.com/gnachman/iterm2/wikis/iTerm2-Version-3.3-...](https://gitlab.com/gnachman/iterm2/wikis/iTerm2-Version-3.3-Security-
Updates)

------
stunt
I use the default terminal + fish shell (+some plugins) + fzf + tmux

------
jjellyy
Minimal Theme and a new Dock Icon, im sold !! Amazing work

------
stefco_
iTerm2 is incredible. I recently tried alacritty, though, and was amazed by
how much faster it is with screen redraws on my 2014 Macbook Pro. I was
shocked the first time I used mouse scrolling in vim through Alacritty and
found that it was as snappy as in a native app; it never occurred to me that,
even for a small pane, the bottleneck was in the emulator. I had to
reimplement some of my favorite shortcuts for tab/pane management in tmux, but
overall everything is running _lightning_ fast thanks to alacritty's
optimized, GPU-accelerated rendering. Alacritty also uses a dirt-simply YAML
file for config (which I prefer to a GUI solution) and is cross-platform
(which means I'll be able to install this same setup, with tweaked shortcuts,
on my Windows box next time I use it).

The new iTerm features sound really awesome, but the one thing I'm already
missing badly is inline image-rendering via escape codes. I had a great
workflow set up on for viewing astrophysical data products on a remote
analysis server using the itermplot matplotlib backend to render plots
directly in my terminal from ipython. I'm still planning on firing up iTerm2
for that use case.

All that said, iTerm2 is the best terminal emulator I've ever used, especially
when you're first learning things. I probably wouldn't have been able to
switch to tmux as easily if I hadn't already used it a bunch through iTerm2's
beautiful tmux integration (I'd already configured some tmux functionality for
that use case). The aforementioned image-rendering should be a universal
feature for terminals. And though the input and redraw lag are higher than
Alacritty or Terminal.app, it's always been fast enough. I still recommend it
to people with Macs who are just starting to program.

That said, if you're a speed addict and want something with limited but
easily-configurable features, give Alacritty a try!

[edit] I should also mention that, if you're willing to put in more effort,
you can implement a ton of iTerm2's visual bonuses (like the status bar and
pretty icons) with a combination of a Nerd font [0] (particularly a pretty
modern one like Iosevka [1]) and an advanced tmux configuration [2].

[0] [https://github.com/ryanoasis/nerd-
fonts](https://github.com/ryanoasis/nerd-fonts)

[1] [https://github.com/ryanoasis/nerd-
fonts/tree/master/patched-...](https://github.com/ryanoasis/nerd-
fonts/tree/master/patched-fonts/Iosevka)

[2] [https://github.com/samoshkin/tmux-
config](https://github.com/samoshkin/tmux-config)

~~~
daleroberts
Thanks, that was cool hearing about your use of itermplot :-)

[https://github.com/daleroberts/itermplot](https://github.com/daleroberts/itermplot)

~~~
stefco_
I think I've thanked you before in the HN comments for it, but thank you
again!! itermplot is one of those great tools that actually makes things _just
work_ in a pinch. I wrote/maintain a low-latency gravitational wave/high-
energy neutrino joint source search, and crazy stuff is always happening.
Being able to throw together plots and just see them in my terminal right away
helps me maintain my sanity ^_^

------
ngcc_hk
Seems good

------
auslander
Does it have an Undo button? If not, I'm sticking to MacOS Terminal.

~~~
tazard
Undo what exactly?

~~~
auslander
My typical typo: rm -rf /

------
chadlavi
> 3.3.0

> Major version

Why do people hate semantic versioning so much? Just call it 4.0.0 if it's a
major version, or if it's not, don't call it major.

