When comparing zsh vs iTerm2, the Slant community recommends iTerm2 for most people. In the question“What are the best power user tools for macOS?” iTerm2 is ranked 1st while zsh is ranked 53rd. The most important reason people chose iTerm2 is:
Other than being able to customize the various shortcuts, iTerm2 also lets you customize the colorscheme, font, transparency, etc.
Specs
Ranked in these QuestionsQuestion Ranking
Pros
Pro Interactive autocompletion
When you start typing a command, you can press the tab key and it will complete the command you started typing. If there are multiple potential commands, you can choose which one to run by simply pressing tab again. Case-insensitive by default, too.
Pro Powerful community-driven tools via oh-my-zsh
Oh-my-zsh is a community-driven framework, which helps users with their zsh configuration and plugins. 400 plugins, 200+ themes and auto-updates to always be up to date.
Pro Autocomplete for options
Zsh intelligently determines if you are trying to complete a file path or an option, and pressing tab after typing -
will reliably bring up a list of options.
Pro Good bash compatibility
Things you've learned using bash will largely apply to zsh. Scripts written in bash will run with little to no modification.
Pro Safer variable behaviour
Unlike Bash, zsh does not split unquoted variables by default, making it less error-prone.
Pro Recursive globbing
ls **/*.log
for example is supported by ZSH.
Pro Great install procedure
Zsh will take you through a procedure which is roughly 30 minutes in length before during install. Through this procedure it asks you to set different options and customize the shell the way you want it to. Most of these settings are also found in other shells, but to customize them you have to go dig configuration files while zsh allows you to do it in the beginning.
Pro Shared histories
If you spend a lot of time in the terminal, most likely you will have several terminal windows open. Zsh has great support for command line histories. The history is unique and shared through all the different instances.
Pro Smart escaping
Zsh can determine the context of the command you're typing in and determine if it should escape characters if you're typing in a URI.
Pro Pipe output to a temporary file:
Some programs don't support loading from stdin, but ZSH can store outputs to a temporary file, example: unzip =(curl http://example.com/someZipFile.zip)
Pro Faster spelling correction
Zsh' s correct (or correctall) is vastly superior to Bash's attempt at spelling correction.
Pro Extremely customizable
Other than being able to customize the various shortcuts, iTerm2 also lets you customize the colorscheme, font, transparency, etc.
Pro Autocomplete is built-in
iTerm has autocomplete features built in. It remembers your past commands and when you are writing something on the terminal, simply pressing Control-;
it will show you a drop down menu of suggestions from which to choose.
Pro Complete out of the box
Unlike most terminal emulators, iTerm2 comes with a pretty complete set of features. It has built-in search, autocompletion, tabbed navigation, Growl support and even a built-in clipboard manager for various API keys and such.
Pro Fine tuning for fonts
It's possible to choose a font and adjust vertical and horizontal spacing.
Pro Can immediately open files inside a text editor
You can Ctrl+Click on a file path to open said file in a text editor.
Pro Supports mouse actions
Has support for mouse actions like clicking, dragging, selecting, etc.
Pro Active maintainers
Issues resolved fast by quality contributors.
Pro Works well with powerline fonts
Pro Completely free and open source
iTerm2 is completely free and open source. It's released under the GPLv2 license.
Pro Split panes
Easy to split panes to either horizontal or vertical sections. Makes it easy to observe multiple console windows.
Pro Supported by many applications as a terminal app selection
If an application has terminal integration, there is high probability it allows iTerm2 to be selected.
Pro Intuitive
Pro Cmd+Shift+I to Input all
Wanna SSH your server from multiple tabs, here you go.
Pro You only need to type in commands once
iTerm2 can store up to 4M of history of commands you already used. This, coupled with the built-in search features makes it possible to type a command only once and then search for it through the history for subsequent uses.
Pro Works perfect with Oh My Zsh
It's a perfect base to add Oh My Zsh on top of it and enjoy a lot of themes and a really pleasant look and feel.
Pro Works well with tmux
The great mouse and clipboard support that are built-in go really well with tmux.
Pro Any key can be mapped to any function
Using the Preferences Menu you can set up hotkeys to map virtually any action you can think of to a single key or a combination of them. This is extremely helpful as it allows you to use shortcuts to edit commands you are typing in the terminal and while most terminal emulators have shortcuts for this sort of thing, few of them let you define your own.
Pro GPU-rendered, blazing fast and super smooth
Many people say they use Kitty or Alacritty because they are GPU-rendered. That was true a long time ago. But iTerm2 has been GPU rendered for years now. It's so fast and smooth that you soon forget you are in a terminal.
Pro Beautiful, minimalistic and elegant UI
It's super-clean and during use it gets completely out of the way, it's a beautiful canvas for your terminal work, a pure joy that never gets old.
Pro Can be configured as a drop-down terminal
Can be configured to work as a drop down terminal like Quake.
Pro Cmd+D to split plane vertically
Very handy to use multi-tab.
Cons
Con Not fully compatible with bash
There is a small chance you may have a bash script that doesn't work in zsh, although this is very very rare and most developers will never run into any issues.
Con Requires a lot of configuration to be used fully
Zsh requires a lot of tinkering with configuration files and downloading plugins in order to be able to do tasks which other shells may be able to do out of the box.
Con Defaults are unfriendly for a long-time bash user
Expect to find a configuration you like (or use the configuration utility) to set reasonable preferences. Default zsh interaction is different enough to make you stutter through what used to be familiar workflows.
Con Keycodes are not passed through following Linux standards
If you come from a Linux terminal emulator (Gnome Terminal, Konsole...) and you rely on key-combos that are widely supported in those, porting the same functionality to iTerm is possible but will require a lot of research and configuration on your part, so account for a long painful adoption period.
Con Not quite as fast as Alacritty or Kitty
Comparing these 3 terminals on the same machine/config, iTerm stands out as the slowest of the bunch. The difference may not be noticeable to all users.
Con Way too many menu items and settings
Finding the right one is like searching for a needle in a haystack.
Con Doesn't support Snow Leopard 10.6.8
Some people still use Snow Leopard or other 32-bit systems.