今回は、Windows Terminal v0.10に追加されたペインの複製機能について紹介したい。Windows Terminalにはペインを分割する機能が標準で搭載されており、さらにそのペインを複製できるようになった。この機能が追加されたことで、より効率的に作業できるようになるのではないかと思う。

ペイン機能のおさらい

Windows Terminalにはウインドウを分割する機能が提供されている。タブと似たような機能ではあるのだが、タブはウィンドウに別のウィンドウを新たに作成するのに対して、ペインはフォーカスされているウィンドウ自身を分割して別々に利用する仕組みを提供している。

Windows Terminalではウインドウのことを「ペイン」と呼んでいる。例えば、Windows Terminalを新規に開いたときは画面には1つのペインが表示されていることになる。そのペインを分割すれば、2つのペインが1つのウインドウに表示されていることになる。

タブという機能があるにも関わらず、なぜこのような機能があるのかというと、複数のターミナルを同時に見ながら作業をしなければならないときに便利だからだ。複数のペインで同じ環境を操作し、こちらのペインではシステムの状態を監視、あちらのペインではアプリケーションやスクリプトなどを実行、さらにそれらを見つつ、さらに別のペインでほかの作業を行うといったことができる。

タブはショートカットキーでもマウスでも操作できるが、ペインは全てショートカットキーのみでの操作となる。デフォルトでペインに用意されているショートカットキーは次の通りだ。

キー操作 内容
Ctrl-Sift-W ペインを閉じる
Alt-Shift— フォーカスされているペインのに新規ペインを作成
Alt-Shift-= フォーカスされているペインの右に新規ペインを作成
Alt-↓ 下のペインにフォーカスを移動
Alt-← 左のペインにフォーカスを移動
Alt-→ 右のペインにフォーカスを移動
Alt-↑ 上のペインにフォーカスを移動
Alt-Shift-↓ ペインを下方向へリサイズ
Alt-Shift-← ペインを左方向へリサイズ
Alt-Shift-→ ペインを右方向へリサイズ
Alt-Shift-↑ ペインを上方向へリサイズ

ペインは「Alt」キーと「Shift」キー、「-」キー、または「=」キーを押すことで分割できる。「-」キーと「=」キーの違いは左右に分割するか、上下に分割するかの違いだけなので、作業のしやすさに応じて適宜変えればよい。

ペインをショートカットキーで使う

標準のショートカットキーで起動した新規ペインは、デフォルトプロファイルに設定されているターミナルアプリケーションとなっている。

つまり標準ではPowerShellが起動する。これではPowerShellでしかペイン機能が利用できない。もちろん設定ファイル内のデフォルトプロファイルの値を変更すればそのプロファイルに該当するターミナルが起動するようになるが、今度はPowerShellをペインで利用できなくなってしまう。

この問題を解決する機能はすでにWindows Terminalに実装されている。ショートカットキーの編集機能が導入されており、さらにショートカットキーにペインの利用を規定し、起動したい対象のプロファイルを指定できるようになっている。

例えば「keybindings」内に次のようなショートカットキーを設定してみる。これで「Ctrl」+「U」キーを押すことでペインが分割されて、指定したプロファイルのターミナルが起動する。

{"keys":["ctrl+u"],"command":{"action": "splitPane","split": "auto", "profile": "Ubuntu"}}

設定したショートカットキーで新規ペインが起動

なお、ショートカットキー編集による新規ペインの作成方法については第5回で紹介しているので、そちらを参照されたい。

ペインの複製機能を使ってみる

ペイン機能のおさらいをしたところで、実際にペインの複製を使ってみよう。ペインの複製もショートカットキーの編集機能を利用する。

ショートカットキーでペイン機能を割り当てるには「command」のaction項目にsplitPaneコマンドを指定するわけだが、そのsplitPaneコマンドに新たに「splitMode」というペインの分割方法を制御する引数が用意された。このsplitMode引数に「duplicate」を指定することでペインの複製が使えるようになる。

設定ファイルの「keybindings」内に、次のようなショートカットキーを記述していただきたい。

{"keys":["alt+shift+d"],
   "command":{"action": "splitPane","split": "auto", "splitMode": "duplicate"}
}

設定したらデフォルトプロファイル以外のターミナルを開いて設定したショートカットキーを押してみよう。フォーカスしたペインが分割し、フォーカスされていたペインに使われていた同じターミナルが新規ペインとして起動するはずだ。

フォーカスされていたペインが分割して同じターミナルのペインができる

一度ペイン複製用のショートカットキーを設定しまえば、後は必要なときに利用すればいいだけだ。デフォルトプロファイル以外の新規ペイン作成ショートカットキーを設定しておけば、より作業が楽になるのではないかと思う。

PowerShell以外のプロファイルを指定した新機ペイン作成ショートカットキーを用意する場合は、以下のようになる。

// コマンドプロンプト用ペインショートカットキー
{"keys":["ctrl+c"],"command":{"action": "splitPane","split": "auto", "profile": "cmd"}},
// Ubuntu用ペインショートカットキー
{"keys":["ctrl+u"],"command":{"action": "splitPane","split": "auto", "profile": "Ubuntu"}}

新規ペイン作成とペイン複製用のショートカットキーを活用

この複製機能が追加されたことでペインの重要性が増し、利用する機会は多くなるのではないだろうか。ぜひ、ペイン複製を含めたショートカットキーのカスタマイズを行い、作業に役立ててほしい。

参考資料