Windows Terminal (Preview) が出たのでキーバインドや配色をカスタマイズしてみた

2020.02.24

こんにちは植木和樹@上越オフィスです。2月14日にWindows Terminalの機能確定版がリリースされたので試してみました。

インストール

今回はchocolateyを使ってインストールしました。あとから配色も設定したいためcolortoolもインストールしておきます。

% choco install microsoft-windows-terminal -y
% choco install colortool -y

実行環境

  • Windows10 バージョン1903 18362.657
  • Windows Terminal (Preview) Version 0.9.433.0
  • chocolatery v0.10.15

コンフィグをVS Codeで行う

拡張子jsonのデフォルトアプリケーションをVS Codeにすると、Ctrl + ,した時にVS Codeでコンフィグファイルを編集できます。 拡張子jsonファイルを右クリック → プロパティ → プログラムで変更できます。

VS Codeだとパラメーターや設定できる値の補完ができるので、ぜひ設定しておきましょう。

カスタマイズ

カスタマイズはGitHubにあるドキュメントを参照しながら進めます。

WSLで起動

起動時にWSLのシェルを起動する場合は defaultProfile にWSLのguidを設定します。

"defaultProfile": "{2c4de342-38b7-51cf-b940-2309a097f518}",

透明度など細かい挙動の変更

WSL環境固有の設定をいれています。

デフォルトのままだとWSLのシェルが終了してもウィンドウが残ったままなので closeOnExitalways に変更しました。またフォントやサイズ、ウィンドウ背景の透明度を設定しています。

"guid": "{2c4de342-38b7-51cf-b940-2309a097f518}",
"hidden": false,
"name": "Ubuntu",
"source": "Windows.Terminal.Wsl",
"colorScheme": "Japanesque",
"acrylicOpacity": 0.85,
"useAcrylic": true,
"cursorColor": "#FFFFFF",
"fontFace": "Cascadia",
"fontSize": 14,
"closeOnExit":"always"

上で colorScheme で配色を設定しています。この後に説明します。

配色の設定

配色(カラースキーマ)はデフォルトでいくつか用意されています。が、どれも発色が強めで目が疲れそうだったためiTerm2のJapanesqueを参考に設定しました。

"schemes": [
    {
        "name": "Japanesque",
        "background": "#0C0C0C",
        "foreground": "#f9faf6",
        "black": "#0C0C0C",
        "blue": "#4c99d3",
        "green": "#7bb75b",
        "cyan": "#389aac",
        "red": "#ce3e60",
        "yellow": "#e8b32a",
        "purple": "#a57fc4",
        "white": "#f9faf6",
        "brightBlack": "#585a58",
        "brightBlue": "#135879",
        "brightGreen": "#767e2b",
        "brightCyan": "#76bbca",
        "brightRed": "#d18ea6",
        "brightYellow": "#77592e",
        "brightPurple": "#5f4190",
        "brightWhite": "#b1b5ae"

    }
],

colortoolsユーティリティを使えば、直接Japanesque.itermcolorsファイルを読み込んでターミナルの色設定できそうなのですが、ちょっと使い方が分からなかったためコンフィグ内で指定しています。 (colortool -lで表示されるフォルダにJapanesque.itermcolors ファイルをコピーしてcolortool -d Japanesque.itermcolorsを実行しても設定が反映されませんでした。)

(追記)colortoolうまくいきました

コマンドプロンプトを管理者モードで起動したところitermcolorsファイルを読み込むことができました。

% cd YOUR_DOWNLOAD_FOLDER
% colortool -b Japanesque.itermcolors
Wrote selected scheme to the defaults.

% colortool -l
% colortool -s

読み込んだファイルがschemes directoryにコピーされていればOKです。schems directoryは colortool -l で確認できます。

キーバインドの設定

新しいタブの作成、ペインの垂直・水平分割にキーを割り当てました。ペイン分割は頻繁に使うのでiTermっぽくしてあります。

"keybindings": [
    { "command":"newTab", "keys": ["Ctrl+t"]},
    { "command":"splitVertical", "keys": ["Alt+d"]},
    { "command":"splitHorizontal", "keys": ["Alt+Shift+d"]}
]

(デフォルトだとAlt + Shiftを押しながらプラスかマイナスです)

他にもデフォルトで下記のような操作にキーが割り当てられています。

操作 command keys
次のタブへ nextTab Ctrl + Tab
前のタブへ prevTab Ctrl + Shift + Tab
上のペインへ moveFocusUp Alt + ↑
下のペインへ moveFocusDown Alt + ↓
左のペインへ moveFocusLeft Alt + ←
右のペインへ moveFocusRight Alt + →
ペインリサイズ resizePane Alt + Shift + ↑←↓→

まとめ

長年Windowsで作業しててcommand.comの機能の少なさに困っていましたが、Microsoft公式で高機能Terminalを出してくれるのはうれしいですね。公式だと職場環境にも安心してインストールしやすいですし。

今回は見た目を変更して遊んでいただけなので、ターミナルソフト自体の性能については試していません。vim + airlineやfish + gitの環境で文字化けがおきないかなど色々試してみたいと思います。

参考までに現在のprofiles.jsonを貼っておきます。