見出し画像

新しいターミナル 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の人が作ってたんだ。っていう気付きを得ました。