これだけは最低限おさえておきたいiTerm2の便利な機能・使い方9個

転職先で使うクライアントがMacになることから、ターミナルエミュレーターがTeratermからiTerm2に変更になる。
なので、ここのところiTerm2を自宅でいじくっていたのだけど、その際に「とりあえずこの辺だけ押さえとかないとなあ」と思った箇所が幾つかあったので、そのあたりをまとめてみることにした。

1.ターミナルのログを自動取得する

iTerm2では、Teraterm等と同様にターミナルログを自動取得させることもできる(ログ名は固定)。
設定方法は簡単。デフォルトで使用するプロファイルの設定画面で「Profiles」の「Session」を開いて、”Miscellaneous”の『Automatically log session input to file:』にログを保存するフォルダPATHを記載するだけだ。

残念ながらタイムスタンプの記録までは対応してくれてないようだが、これでターミナルログの自動記録を設定することができる。

2.複数タブで同じコマンドを実行させる(ブロードキャストコマンド)

Teratermのブロードキャストコマンドと同様の処理を、iTermでも行うことができる。
対象のiTerm2のウィンドウで、「Command + Shift + I」キーを押下すると、警告ウィンドウが表示された後、ブロードキャスト機能が有効になる。
この機能が有効になっている場合は、ターミナル画面右上にコマンドキーの画像がうっすらと表示されているので、それで見分けると良いだろう。

ブロードキャスト機能を終了する場合は、再度「Command + Shift + I」キーを押下すれば良い。

3.ターミナル画面を分割する

iTerm2では、ターミナル画面の分割表示も行うことができる。
「Command + D」(縦分割する場合は「Command + Shift + D」)キーで、対象のウィンドウ・タブの画面を分割することができる。

分割した各ターミナルへの移動には、マウスもしくは以下のショートカットキーが利用できる。

  • 「Command + [」 … 次の分割したターミナルへ移動
  • 「Command + ]」 … 前の分割したターミナルへ移動
  • 「Command + Alt + 矢印キー」 … 矢印方向のターミナルへ移動

4.ターミナル内を検索する

iTerm2では、「Command + F」でターミナルに表示されている内容を検索することができる。
検索にHitした文字をたどっていく場合は、「Command + G」キー(逆に進めていく場合は「Command + Shift + G」キー)を用いる。

また、ICU正規表現を用いての検索を行うこともできる。
(検索出来ない場合は、検索ウィンドウ左の虫眼鏡をクリックし、「regular expression」にチェックが入っていることを確認する。)

5.マウス無しでコピー&ペーストを行う

上の検索機能を利用して、ターミナル内のマウス無しでのコピー&ペーストを行うこともできる。
検索で該当の箇所に移動し、「Shift + Tab」で前へ、「Tab」で選択範囲を広げることができる。

以下の例では、「Do」で検索を行い、「Download」の箇所にカーソルを合わせてコピー、ペーストしてみた。

6.ターミナルへのペースト履歴の確認

「Command + Shift + H」キーで、ターミナルへのペースト履歴を確認することもできる。

7.ターミナルの過去状態を表示させる

iTerm2には、時間ごとにターミナルの過去状態を表示させることができる「インスタンスリプレイ」という機能がある。
「Command + Alt + B」キーを押下することで機能を有効にすることができる。

「Command + Alt + B」で1アクションごとに戻る、「Command + Alt + F」で進むことができる。

8.トリガ機能

iTerm2では、ターミナル上に特定の文字列が表示された際に特定の動作をさせることができる。
上部メニュー「Profiles」>「Open Profiles...」から編集対象となるプロファイルを選択し、「Advanced」の"Triggers"よりEditボタンを押下、表示されるウィンドウに対象のキーワードを登録していく。

キーワードの登録には正規表現を用いることができ、その条件にあった文字列がターミナル上に出力されたら、コマンドを実行させたりアラートを表示させたり、テキストを入力させる等といったことができる。

9.iTerm2で予測入力を行わせる(オートコンプリート)

Macでしか使わなかったり、sshなどでの接続先がbashやzshであれば問題無いが、HP-UXだとかAIXだとデフォルトがkshになっている。
こうなると、Tabでの予測変換が行えないのだが、iTerm側で予測入力を行わせることができる。「Command + ;」キーを押下することで、予測される入力内容を表示してくれる。