iTerm2

About

macOSで人気の端末アプリ。
ターミナル.app より細かい設定が色々できるらしい。

起動アプリ名は「iTerm.app」

Getting Started

Keyboard Shortcuts

KeyFunction
⌘D画面を左右に分割
⌘⇧D画面を上下に分割
⌘]画面分割時に次のペインに移動
⌘[画面分割時に前のペインに移動
⌥⌘EExpose All Tabs
⌘⇧BToolbeltの表示/非表示
⌘;コマンド自動補完のポップアップを呼び出す
⌘⇧;(Shell Integration)コマンド履歴を呼び出す
⌥⌘/最近のディレクトリを呼び出す
⌘Fテキスト検索

参考:

Configuration

参考:

背景画像の設定

Profiles > Window > Background Image で「Enabled」にチェックを入れると、ローカルのファイルシステムにある画像を選べる。

参考:

Usage

テキスト検索モード

⌘F で入れる。

  • マウス操作せず、 TAB, ⇧TAB キーで選択範囲を広げられる。
  • ⌥ENTER で現在選択されているテキストをペースト

Features

https://iterm2.com/features.html

  • Toolbelt … もう1つの作業スペース。 ⌘⇧B で表示できる。
  • tmux Integration

シェル変数

後掲のShell Integrationを有効にしないと使えないものもあるかもしれない。

NameType意味
ITERM_PROFILE環境変数現在の設定プロファイル。例: Default
ITERM_SESSION_ID環境変数

参考:

Shell Integration

https://www.iterm2.com/documentation-shell-integration.html

シェルと連携して機能強化できる。
tmuxと一緒には使えないそうだ。

機能:

  • Auto Command Completion … メニューバーから View > Auto Command Completion で有効化できる

NOTE:

  • Auto Command Completionのツールチップ表示中は、タブキーによるシェルの補完や zsh-autosuggestions による補完は効かない。 Esc キーでAuto Command Completionを解除できる

参考:

How-to

SSH接続時に背景を変更する

背景色のみを変えることもできるが、リモート接続用の設定プロファイルを(複数)用意し、接続先によって切り替えるということも可能。

某現場では gcloud compute ssh を使うことが多いので、下のようなスクリプトを作り、 gcloud-ssh とaliasした。

#!/usr/bin/env bash

set -eu

NEW_ITERM_PROFILE=${NEW_ITERM_PROFILE:-remote}
original_profile=$ITERM_PROFILE

# Restore profile in any case
trap "echo -ne \"\033]1337;SetProfile=${original_profile}\a\"" EXIT

# Set given profile
echo -ne "\033]1337;SetProfile=${NEW_ITERM_PROFILE}\a"

gcloud compute ssh "$@"

echo -ne "\033]1337;SetProfile=${original_profile}\a"

exit

NOTE:

  • 最初 INT でtrapしていたけど、gcloudコマンドが途中でコケたときにtrapできなかったので、 EXIT にした

参考:

参考記事