⌥+⌃AltPlusCtrl

iTerm2 Keyboard Shortcuts

iTerm2 has been the de facto standard terminal replacement for Mac developers for years specifically because of features Apple's built-in Terminal app lacked for a long time, particularly split panes and a system-wide Hotkey Window that drops down instantly from anywhere on the system — both of which get their own dedicated shortcuts here. Its shortcut set otherwise follows standard macOS terminal conventions closely, meaning most basic navigation and tab management transfers directly from stock Terminal, with the real learning curve concentrated in iTerm2's own distinctive pane-splitting and Hotkey Window features. iTerm2 has always been Mac-exclusive, so every shortcut here is built around Cmd and Option as modifiers with nothing to translate for another platform. This page is written for developers who already know they want more than stock Terminal offers and are setting iTerm2 up as a daily driver, rather than someone deciding between the two — the split-pane and Hotkey Window sections are exactly the features that justify making the switch in the first place, so they're worth configuring deliberately rather than leaving at their unconfigured defaults. Because so much of iTerm2's power comes from Preferences rather than fixed built-in bindings, expect to spend a few minutes in Settings the first time you set it up on a new machine, particularly for the Hotkey Window, which has no single shipped-in-the-box shortcut at all.

Split Panes

ActionWindowsMacDescription
Split pane verticallyCmd+DSplits the current pane into two side-by-side vertical panes within the same tab, letting you view and interact with two separate shell sessions simultaneously without needing separate windows or tabs.
Split pane horizontallyCmd+Shift+DSplits the current pane into two stacked horizontal panes, the perpendicular companion to vertical splitting.
Move to next paneCmd+Option+Right (or Cmd+] in some configs)Moves keyboard focus to the next split pane within the current tab, letting you cycle between multiple simultaneously visible shell sessions.
Close current paneCmd+W (pane focused)Shuts the currently focused split pane and lets the remaining panes in that tab expand to fill the space it leaves behind; if that pane was the last one left in the tab, the whole tab closes along with it. iTerm2 prompts for confirmation only if the pane has a running foreground process other than the default shell, so closing an idle pane with nothing but a prompt sitting in it happens instantly without an extra dialog.
Resize current paneCmd+Ctrl+Arrow keysGrows or shrinks the currently focused pane in the direction of the pressed arrow key, useful for giving one split more visible room without needing to drag the pane divider with the mouse.
Toggle maximize current paneCmd+Shift+EnterTemporarily expands the focused pane to fill the entire tab area, hiding the other panes without actually closing them, then restores the original split layout when toggled again.

Hotkey Window

ActionWindowsMacDescription
Toggle Hotkey Window (global)Custom-assigned global hotkey (commonly configured to a key like Option+Space)Toggles iTerm2's Hotkey Window, a dedicated terminal window that instantly drops down from anywhere on the system regardless of which app currently has focus, requiring initial setup in Preferences > Keys > Hotkey since there's no single universal default binding.
Configure Hotkey Window profilePreferences > Profiles > Keys, no runtime shortcutNot a runtime shortcut itself, but the configuration step required to set up which profile and behavior the Hotkey Window uses, done once in Preferences rather than during normal terminal use.
Assign Hotkey Window to a dedicated SpacePreferences > Profiles > Window > Space, no runtime shortcutA configuration option (not a live shortcut) letting the Hotkey Window appear on whichever macOS Space or Desktop you're currently viewing rather than tied to one fixed Space, which matters for users who work across multiple virtual desktops and want the drop-down terminal to follow them everywhere.

Tabs Search

ActionWindowsMacDescription
New tabCmd+TOpens a new terminal tab, standard behavior shared with stock Terminal and most tabbed applications generally.
Switch to next tabCmd+Shift+] (or Cmd+Right in some configs)Moves to the next open tab, standard tab-cycling behavior.
Search within current sessionCmd+FOpens search within the current pane's scrollback buffer, letting you find specific text in a long terminal output history without manually scrolling.
Clear scrollback bufferCmd+KClears the entire scrollback history for the current session, not just the visible screen, distinct from a shell-level 'clear' command which typically only clears the visible screen while preserving scrollback.
Open command history autocompleteCmd+;Opens an inline autocomplete popup suggesting previously typed commands matching what's currently typed, distinct from a shell's own history search and specific to iTerm2's own tracked session history.

Frequently Asked Questions

What's the actual difference between iTerm2's Cmd+K and a shell's own 'clear' command?

A shell's built-in clear command (or Ctrl+L in many shells) typically only clears the visible terminal screen while leaving the full scrollback history intact and still scrollable/searchable above. iTerm2's Cmd+K instead clears the entire scrollback buffer itself at the application level, removing that history entirely rather than just visually scrolling past it — a genuinely more thorough clear appropriate when you specifically want the history gone, not just out of immediate view.

Why do I need to manually configure the Hotkey Window instead of it working immediately?

Because the Hotkey Window is a system-wide global shortcut that needs to claim a specific key combination across the entire OS (not just within iTerm2's own window), and because that combination could conflict with other applications' or the OS's own bindings depending on your specific setup, iTerm2 requires deliberate opt-in configuration in Preferences > Keys > Hotkey rather than assuming a default global binding that might unexpectedly clash with something else already using that combination on your system.

Does splitting panes create genuinely separate shell sessions, or just a visual split of one session?

Each split pane runs its own genuinely independent shell session/process, not just a visual division of one shared session — commands run in one pane don't affect or share state (like current directory or environment variables set in that specific session) with another pane, similar to having multiple separate terminal windows open but arranged visually within one combined window and tab.

How is Maximize Pane different from just closing the other panes?

Maximize Pane is purely a temporary visual toggle — the other panes and their running shell sessions remain fully alive and untouched in the background, they're just hidden from view while the focused pane fills the space. Closing a pane, by contrast, actually terminates that pane's shell process, which is a destructive action you can't casually reverse the way you can un-toggle a maximize state.

Is the command history autocomplete the same as pressing the Up arrow for shell history?

No — the Up arrow's history behavior comes from your shell itself (bash, zsh, etc.) and only recalls commands in strict chronological order one at a time. iTerm2's own autocomplete (Cmd+;) searches its independently tracked history for anything matching what you've already typed on the current line, which can surface a relevant older command instantly rather than requiring you to step backward through everything typed since then.