Macの端末をいろいろ検討した結果iTerm2になった
Macで開発をするうえで、基本的には標準のterminal.appを使っていました。
特に不足を感じていなかったのですが、先日の記事で「True colorに対応していない」という弱点が発覚しました。
これに伴い、ターミナル系アプリをいろいろ比較した結果を残しておこうと思います。
ターミナルのカタログとしてお使いください。
あと、自分がマイナスを感じて使用を止めてしまったものもあるのですが、あくまで個人的な感想ということでよろしくお願いします。
作業記録(Zenn Scrap)はこちら
Alacritty
Rust製ターミナルです。爆速らしいです。
ただかなり思想が振り切っていて、タブ機能などはありません。
また、小さな不具合ですが、コマンドライン上で日本語をインライン入力できない問題がありました。
以前にtmuxを使おうとしていた時期もある(dotfilesには入っている)のですが、いまいち慣れなかったんですよね。
評判は良いようなのでもう少し深く触ってみたいとは思っています。
Tabby
以前はTerminusという名前だったのですが最近Tabbyに改名しました。
軽さは重視していないようです。
設定ファイルがApplication Supportに記録されます。Linuxだと保存先が違うようなのですが…。 あとclickable-linkというプラグインでリンクを強調してクリックできるようになるという触れ込みだったのですが、動作しませんでした。 この機能は結構ほしいと思っていたのですが、使えなかったため検討から外しました。Extraterm
こちらもなかなかおしゃれなターミナルです。
出力結果をウィンドウに入れたりできる点は他ではあまり見ない特徴だと思います。
しかし、コマンドライン上での日本語入力で、文字コードの扱いに起因すると思われる不具合がありました。
けっこう深刻な問題なので使用は断念しました。Electerm
その名の通り、Electronで動くターミナルです。
以下の通り、1commitですがコントリビュートしてたりします。
日本語に対応していたり、きれいめなUIで好印象でした。
しかし、デフォルトターミナルがzshなのになぜかbashで起動していました。
ということで早々に使用は諦めました。
Hyper
Vercel謹製のターミナルエミュレータです。
かっこいいスタイルがいろいろあるようです。
こちらにもコントリビュートしております。
Vercelというイケイケ企業のプロダクトなのですが、しばらく更新がないんですよね…。
なんか不安になったので、別のものを探そうと考えました。Kitty
こちらもAlacrittyと同じくGPUを使用していて高速とのことです。
軽量ですし良さそうだと思ったのですが、タブ表示にちょっと不満があったので使用は保留としました。
iTerm2
自分もしばらく前に使っていたのですが、「別にiTerm2じゃないと駄目な機能を使ってないな」と思ってアンインストールしていました。
terminal.appの乗り換え候補として最初の候補には上がったのですが、
- 「とりあえず」で入れている人が多い印象なのでなんか使いたくない
- 設定がplistファイルなのが気に入らない
- Cross-platformではない
という理由で敬遠していました。
しかし、他のOSSのターミナルを試した後では、
- 安定して稼働している
- 設定がGUIからできる
- 日本語の情報が比較的多い
という点を魅力に感じました。
しかもviu
での画像表示にも対応しています(これはKittyもそうですが)。
敬遠していた理由についても、
- 「とりあえず」で入れている人が多い印象なのでなんか使いたくない
- → いろいろ比較した結果、良いと感じた
- 設定がplistファイルなのが気に入らない
- → どうせ設定はGUIから行うので形式はそれほど問題にはならない
- → 保存先ディレクトリを変更できるのでdotfilesで管理できる
- Cross-platformではない
- → それはterminal.appも同じじゃないか
ということに思い至り、それならひとまず使いやすいiTerm2で良いか…ということになりました。
その他
以下も候補としてはあったのですが、よく確認していません。
おわりに
iTerm2になったというのはなんか少し悔しい感じもするのですが、紆余曲折あっていろいろと比較したことで納得した結果にはなったと思います。
今回使用を見送った他のターミナルも、Linuxを使うときなどは候補として検討したいと思っています。
特にKittyとAlacrittyあたりですかね。
今後も定期的に開発環境の整備をしていきたいです。
Discussion
GPU利用、Rust製のターミナルはかなり群雄割拠ですね
weztermというのもあります
また、本文中では「更新がない」として敬遠していたHyperですが、記事公開後に更新が来ました
Alacrittyの日本語入力問題、解決を見るかも
Extratermの日本語表示の問題、システムの言語設定を元に環境変数LANGを設定する処理が実装されてないためと思います。
手元では明示的にLANG=ja_JP.UTF-8したら回避できました。
なるほど、その処理の関係でターミナルごとに挙動が違ったり表示が違ったりしたんですね
情報ありがとうございます!