前回は、これまでのおさらいも兼ねて、Windows Terminalの基本機能の1つであるタブ機能について紹介した。タブ機能は、LinuxやMacOSのターミナルアプリケーションでも採用されているように、コマンドラインベースでの作業を効率良く行う上で、もはや不可欠な機能となっている。そしてWindows Terminalには、作業効率の向上を手助けするためにもう1つ重要な機能がある。それが今回取り上げるペイン機能だ。

ペイン機能でウィンドウを分割する

ペイン機能は、1つのウィンドウを分割して、同時に複数のターミナルを開くことができる機能である。”同時に複数のターミナルを開く”という点ではタブ機能とよく似ているが、タブ機能が1つのウィンドウにもう1つのウィンドウを追加するのに対して、ペイン機能では1つの画面を複数に分けて、縦または横に並べて表示することができる。

タブとペインの違い

タブのようにウィンドウ全体の表示が切り替わるのではなく、同じウィンドウのなかに別のターミナルが表示されている状態なので、隣のターミナルの表示を確認しながら作業したい場合などに便利な機能だ。このとき、分割されたそれぞれのターミナルのことを「ペイン」と呼ぶ。

タブの場合は、新規タブを作成するためのアイコンやメニューがあるが、ペインにはそのようなUIは用意されておらず、全てショートカットキーで操作するようになっている。Windows Terminal 1.0では、標準で次のようなショートカットキーが提供されている。

キー操作 内容
「Alt」+「Shift」+「-」 フォーカスされているペインの下に新規ペインを作成
「Alt」+「Shift」+「+」 フォーカスされているペインの右に新規ペインを作成
「Alt」+「↓」 下のペインにフォーカスを移動
「Alt」+「←」 左のペインにフォーカスを移動
「Alt」+「→」 右のペインにフォーカスを移動
「Alt」+「↑」 上のペインにフォーカスを移動
「Alt」+「Shift」+「↓」 ペインを下方向へリサイズ
「Alt」+「Shift」+「←」 ペインを左方向へリサイズ
「Alt」+「Shift」+「→」 ペインを右方向へリサイズ
「Alt」+「Shift」+「↑」 ペインを上方向へリサイズ
「Ctrl」+「Shift」+「w」 フォーカスされているペインを閉じる
「Alt」+「Shift」+「d」 フォーカスされているペインと同じプロファイルの新規ペインを下または右に作成

ペイン機能を利用する最初の一歩は新しいペインを作成することである。このとき使う主なショートカットは2つあり、1つは現在フォーカスされているペインを「上下に分割」して下側に新規ペインを作成するもの、もう1つは現在のペインを「左右に分割」して右側に新規ペインを作成するものになる。作成されたペインをさらに分割して、1つのウィンドウに3つ以上のペインを持たせることもできる。

「Alt」+「Shift」+「+」で右にペインを作成

「Alt」+「Shift」+「-」で下にペインを作成

新規で作成されるペインは、デフォルトではターミナルとしてPower Shellが設定される。上記のスクリーンショットでは、最初にWSLのUbuntu用のターミナル上で「Alt」+「Shift」+「+」を押しているが、作成されたペインのターミナルはPower Shellである。もし現在のペインと同じターミナルアプリケーションの新規ペインを作りたい場合には、「Alt」+「Shift」+「d」のショートカットを使えばよい。ただし、このショートカットの場合、新規ペインの位置(下か右か)を指定できず、自動的に幅が広いほうを分割する形で新規ペインが配置される。

「Alt」+「Shift」+「d」で同じターミナルのペインを作成

フォーカスを別のペインに移動させたい場合には、マウスで対象のペインをクリックするほかに、ショートカットを使う方法もある。上の表にあるように「Alt」キーと矢印キーを同時に押すことで、指定した方向にあるペインにフォーカスが移動する。

ペインのサイズの変更はマウスではできないので、「Alt」+「Shift」+矢印キーのショートカットで行う。このショートカットでは、フォーカスされているペインのサイズが矢印方向に広がる。ウィンドウのサイズそのものは変わらないので、その分だけ隣のペインが小さくなる。

任意のプロファイルで新規ペインを作成する

前述の表を見れば分かるように、最初から用意されているショートカットキーでは、新規ペインのターミナルアプリケーションは「Power Shell」か「元になったペインのターミナル」のいずれかしか選ぶことはできない。実際には異なるターミナルを並べて使いたいというケースが多々あるため、このままでは少々不便だ。

そこで、任意のターミナルアプリケーションで新規ペインが作れるようにショートカットキーを追加してみよう。ショートカットキーの追加は設定ファイルで行うことができる。設定ファイルは、タブバーの右端の「∨」アイコンでメニューを表示させ、そこから「設定」を選ぶことで開くことができる。

実際の設定ファイルは「%USERPROFILE%\AppData\Local\Packages\Microsoft.WindowsTerminal_8wekyb3d8bbwe\LocalState」にある「setting.json」なので、このファイルをテキストエディタで直接開いて編集してもよい。ショートカットの設定は、このファイルの下方にある「keybindings」の項目に定義されている。

次の設定は、「Alt」+「Shift」+「L」のショートカットで、WSLのUbuntu用のターミナルを新規ペインで開けるようにするものだ。

{ "command": { "action": "splitPane", "split": "auto", "profile": "{2c4de342-38b7-51cf-b940-2309a097f518}" }, "keys": "alt+shift+L" }

「{2c4de342-38b7-51cf-b940-2309a097f518}」の部分はプロファイルIDと呼ばれるもので、環境によって異なるので、自分の環境に合わせて書き換えていただきたい。プロファイルの設定は同じファイルの上方にある。下図に示すように、「profiles」の項目にPowerShellやコマンドプロンプト、Ubuntuなど、それぞれのターミナルアプリケーション用のプロファイル設定が並んでいる。各ターミナルの「guid」の値がプロファイルIDになる。以下の図は、「Alt」+「Shift」+「L」のショートカットにUbuntuのプロファイルIDをセットした例になる。

「Alt」+「Shift」+「L」でUbuntuの新規ペインを作成できるようにする設定例

なお、追加した設定の一行上の最後にカンマ(,)を書き足すのも忘れないようにして欲しい。

プロファイルの指定には、IDの代わりに名前を使用することもできる。その場合、各ターミナルのプロファイル設定の「Name」の値を設定すればよい。空白文字も含めて一字一句同じ文字列でなければいけないので、確実にコピー&ペーストしよう。

プロファイルの指定にIDではなく名前を使った例

タブとペインを使いこなすことで、複数のターミナルでの並行作業が格段にやりやすくなる。作業効率を上げるポイントは、ショートカットキーで自由自在にタブ/ペインの作成や移動ができるようになることだ。特にペインの操作にはショートカットキーが不可欠なので、日常的に使って操作を指になじませよう。

参考資料