Windows の Terminal を変えた


以前の記事 で、Hyper を使うようにしていたが、最近もっと良いものがないか探した。

改めて、Hyper

https://hyper.is/
https://github.com/zeit/hyper

  • Electron 製
  • Windows, macOS, Linux に対応

悪くは無かったが、パフォーマンス面はどうしても気になった。
以下は、候補として試してみたもの。

Terminus

https://eugeny.github.io/terminus/
https://github.com/Eugeny/terminus

  • Electron 製
  • Windows, macOS, Linux に対応
  • まだ α 版

特徴

  • 機能
    • タブ機能
    • 簡易的な SSH Client 機能
    • 日本語周りで困ることが少ない
    • リガチャーも大丈夫
  • デザイン
    • そこそこ良い
    • 背景透過可能
    • 外観テーマ機構あり
    • カラースキーマのテーマ機構あり
    • CSS による直接的なデザインカスタムも可能
    • タブの位置、カーソル等のカスタムも可能
  • パフォーマンス
    • 起動は遅い
    • 動作もちょい重め
  • 拡張性
    • Plugin 機構あり
    • Hotkey カスタムあり
    • Shell の追加・カスタムあり
  • その他
    • Windows Friendly
      • Clink による Tab 補完
      • Powershell Core に対応
      • Wsl 対応
        • いまいち上手く動けてない ( 2019/2/2 現在 )

インストール

Scoop に対応しているので、以下でサクッと。

PS> scoop install terminus

設定は、フッターにあるギアーアイコンで表示する設定タブで大体のことはできる。

感想

全体的に Hyper と似ているが、Hyper よりも Windows ユーザの方を向いている 感じがする。

Alacritty

https://github.com/jwilm/alacritty

  • Rust 製
  • Windows, macOS, Linux に対応
  • GPU-accelerated
  • まだ α 版

特徴

  • 機能
  • デザイン
    • 最低限
    • 背景透過可能
    • 外観テーマ機構なし
      • そもそも、外観が無い
    • カラースキーマは個別にカスタム
  • パフォーマンス
    • 起動は早い
    • 動作も早い
    • リソース使用量が非常に小さい
    • ストレスを感じることが無い
  • 拡張性
    • Hotkey カスタムあり
    • Shell カスタムあり

インストール

Scoop に対応しているので、以下でサクッと。

PS> scoop install alacritty

Explorer と統合するなら、以下を入れておけば良い。

Windows Registry Editor Version 5.00

[HKEY_CLASSES_ROOT\Directory\Background\shell\Alacritty]
"Icon"="C:\\Users\\username\\scoop\\apps\\alacritty\\current\\alacritty.exe"
@="Oepn with Alacritty"

[HKEY_CLASSES_ROOT\Directory\Background\shell\Alacritty\command]
@="C:\\Users\\username\\scoop\\apps\\alacritty\\current\\alacritty.exe --working-directory \"%V\""

[HKEY_CLASSES_ROOT\Directory\shell\Alacritty]
"Icon"="C:\\Users\\username\\scoop\\apps\\alacritty\\current\\alacritty.exe"
@="Oepn with Alacritty"

[HKEY_CLASSES_ROOT\Directory\shell\Alacritty\command]
@="C:\\Users\\username\\scoop\\apps\\alacritty\\current\\alacritty.exe --working-directory \"%V\""

設定は、C:\Users\username\AppData\Roaming\alacritty にある alacritty.yml を直接編集する。

感想

このスピードは一度体験したら他に戻れない。
シンプルにまとめられているので、コマンドプロンプトの上位版といった感じもある。とはいえ、タブは欲しかったなぁ。

今どうしても納得いかないのは、アイコンのデザイン位。

Extraterm

http://extraterm.org/index.html
https://github.com/sedwards2009/extraterm

  • Electron 製
  • Windows ( + Cygwin ), macOS, Linux に対応
  • Pre-Release という位置付け

特徴

  • 機能
    • キーボード操作に特化している
      • コマンドパレット
      • ノマルモード/カーソルモード切り替え
        • カーソルモード
          • 出力上をカーソルが移動し、編集・コピーができる
    • タブ機能
    • パネルのタイリング機能
    • 自動更新機能
    • 画像 Viewer 機能 ( show コマンド )
  • デザイン
    • そこそこ良い
    • 外観テーマ機構あり
    • カラースキーマのテーマ機構あり
    • ユーザ作成テーマの読み込みも可能
  • パフォーマンス
    • 起動は遅い
    • 動作は気にならない程度
    • 表示はモッサリ感あり
  • 拡張性
    • Hotkey カスタムあり
    • Shell の追加・カスタムあり
  • その他
    • Windows Friendly
      • Powershell Core に対応
      • Wsl 対応
    • 公式ドキュメントが充実している

インストール

Github Release から地道に取ってくる。

展開し、PATH に追加する。
何やら DLL 等の謎ファイルが大量に含まれているが、殆どが Electron 関連のもののようだ。

設定は、Setting で表示する設定タブで行う。

感想

とても使いやすい。パフォーマンスと機能性を良いところでバランスを取っている印象。
また、Windows 対応がとてもしっかりしている。いくつか使った中で一番良くできているんじゃなかろうか。
インストールとパッケージ化部分がもう少しスッキリするとなお良いのでは。

気になっているのは、タブ上でのマウスホイールクリックが閉じるじゃない事と、全タブが閉じるとアプリ自体が閉じてしまう事。

Fluent Terminal

https://github.com/felixse/FluentTerminal

  • C# 製 UWP
  • Windows にのみ対応

見た感じ Electron 系の Terminal と被るが、C# なのでパフォーマンスは良さそう。
まだ使えてないので、今後使ってみる。

その他

upterm

https://github.com/railsware/upterm

  • Electron 製
  • Windows, macOS, Linux に対応
  • コマンド補完機能あり

Hyper から乗り換えるほどでは無いかなと判断し、未検証。

結論

Alacritty をメインとしながら、複数 Terminal を並べたいときだけ Extraterm を利用している。