iTerm2
Open-source project
iTerm2 is a free, open-source terminal emulator for macOS that replaces Apple's built-in Terminal application with additional features such as split panes, extensive customization, search, and scripting support. It is widely used by…
Definition
iTerm2 is a free, open-source terminal emulator for macOS that replaces Apple's built-in Terminal application with additional features such as split panes, extensive customization, search, and scripting support. It is widely used by developers and system administrators who spend significant time working from the command line on a Mac. It supports split panes, searchable scrollback history, customizable color schemes, and a Python scripting API for automating terminal layouts and reacting to session events.
Overview
iTerm2 is a terminal emulator for macOS addressing the limitations of Apple's built-in Terminal application for developers and administrators who spend extended periods working from the command line, adding features such as split panes, extensive customization, search, and scripting that the default application lacks. Split panes divide a single window into multiple independent terminal sessions arranged horizontally or vertically, and tabs group related sessions, reducing the need to juggle many separate windows; searchable scrollback history, customizable color schemes and fonts, and true color support make long sessions easier to navigate than the more limited default Terminal. Triggers, a specific iTerm2 feature, watch terminal output for a matching pattern and automatically perform an action, such as highlighting a line or sending a system notification, when it appears, which is useful for monitoring long-running command output without watching it continuously. iTerm2 differs from tmux, a tool it is often paired with, in that iTerm2 is a terminal emulator application with its own split panes and tabs tied to the macOS window it runs in, while tmux is a terminal multiplexer that runs inside any terminal and can persist a session across an SSH disconnection; some functionality, like split panes, overlaps between the two, and users choose one, the other, or both depending on whether they need that persistence. Developers use iTerm2 to run multiple terminal sessions in split panes, monitor long-running command output using triggers, automate terminal layouts and actions through its Python scripting API, and search through long scrollback history while debugging, often pairing it with a shell framework like Oh My Zsh for further customization of the shell itself rather than the terminal application. As a macOS-only application, iTerm2 is not a cross-platform solution, so teams working across operating systems typically rely on tmux or another multiplexer for behavior that stays consistent regardless of which terminal emulator wraps it, reserving iTerm2's emulator-specific conveniences for the macOS portion of their work. Profiles let a user save distinct configurations, such as different color schemes, fonts, or working directories, and switch between them depending on the task or project being worked on. Instant replay lets a user scroll backward through a session's visual history frame by frame, which is a feature specific to iTerm2 rather than a standard terminal capability. Because it is open source, iTerm2's development is visible to the community, and its release notes document new features and fixes across the macOS versions it supports. Copy mode and vi-style keyboard navigation let a keyboard-focused user select and copy text from the terminal without reaching for a mouse.
Key Features
- Split panes for multiple sessions within one window
- Searchable scrollback history across terminal sessions
- Customizable color schemes, fonts, and true color support
- Trigger rules that react automatically to terminal output patterns
- Python scripting API for automation and custom integrations
- Tab and window arrangement management for organized workflows
- Free and open-source, actively maintained for macOS