新しいターミナル Ghostty
おはようございます。waturaです。iOSアプリ開発者をしているので開発環境としてはXcodeを使うことが多いですが、ターミナルもよく利用しています。今日は、最近使っているターミナルについて簡単に紹介します。
Warp
これはRustで書かれた高機能なターミナルで、
コマンド履歴管理
実行結果の共有
AI 補助
GPU利用のため描画がだいたい早い
検索強い
SSHした先にもWarpパワーがいく
設定を変更したり他のツールを入れなくても使いやすいターミナルでした。しかし、日本語の扱いに関しては少し問題がありました。基本的にターミナルで日本語を使用することはないと思いますが、使い勝手が悪くなることがありました。そこで、別のターミナルを探していました。
基本的にターミナルで日本語を利用することは少ないと思いますが,それでもたまに発生するので不便に感じていました。
バージョンアップでIME周りや日本語描画周りが改善することもあったりはしたのですが、よくデグレしてしまっていた印象もあります。そのあたりの快適さの低下が別ターミナルを探す旅につながりました。 (AIはRaycastでつかっているので、いらないしなぁというのがありったり)
なお、Rustで書かれているとはいっていますが、クローズドソースです。
WezTerm
こちらもRustでかかれた、カスタマイズ性のかなり高いターミナルです。IMEまわりも問題なく使うならこれだよね!って感じでいいターミナルです。
ドキュメントもかなりまとまっていて、いい感じです。数ヶ月使っていました。下記Ghosttyが停止とかしてしまったら、WezTermに戻ってくる可能性が高そうです。
オープンソースです。
Ghostty
新進気鋭のターミナルです。Zigで書かれていて、mac版はSwiftUI/UIKitをつかってUIを実現しています。
ZigをライブラリとしてSwiftUIプロジェクトから呼び出すというアーキテクチャになっていて、Linux向けにGTKにするのもほとんど共通でいけるようです。
まだまだWezTermやWarpといったターミナルに比べて機能は少ないです。ですが今のところ、「あーバグだ。めんどくせえ」みたいな体験に遭遇していません。日本語周りもちょっと気になるところはなくもないですが、使えています。
とりあえず、アイコンとアーキテクチャが気に入ったので、今はGhosttyをメインに使っています。ごりごり開発が進んでいるのも++です。
SwiftUI + Zigとかでなんかやってみるのはすごく面白そうです。今はまだクローズドソース(ベータテスターには開示)なんですが、いずれはOSSにするそうです。
もし、Ghosttyが気になる人がいたらここからDiscordに登録できるので登録してみてください。
まとめ
いまは、SwiftUIにも興味がある今日この頃というかんじだったので、SwiftUIも使ったマルチプラットフォームアーキテクチャなGhosttyをメインにつかっています。
Ghosttyはアイコンかわいいのでみてていいかんじです。
追記、なにもきにしてなかったけど、 GhosttyってHashiCorpの人が作ってたんだ。っていう気付きを得ました。