はじめに
こんにちは! 中学2年生を終えようとしているAwashAmityOakです!
みなさんは、コーディングをするとき、何のエディタを使っていますか? 私は、以前はVisual Studio Codeを使用していたのですが、3ヶ月ほど前から「Zed」というエディタを愛用しています。今回は、私をVSCodeから引き離したZedについて、歴史や魅力、インストール方法を説明していきます。
この記事は、2024年3月時点での情報をもとにしています。
Zedって何?
Zedは、MacOSで動く1オープンソースのテキストエディタです。GPUIという独自のUIフレームワークから、サーバー側のコードまで、GitHubリポジトリで公開されています。
Zedは、比較的新しいコンパイラ言語であるRustで作られているため、動作がとても速いです。「Code at the speed of thought」(思考の速さでコーディング)がキャッチコピーになっていることからも、エディタの速度がいかに重視されているのかわかると思います。
Zedの大まかな歴史
Zedは、Atomというエディタの開発者の方たちが、2年ほど前に開発を始めた新しめのエディタです。Atomが2022年12月15日に開発終了となったことは、多くの人が知っていると思います。
ところで、その数ヶ月前に、Atomの作者の一人であるNathan Soboさんがこんなツイート(ポスト)をしています。
「Atomの太陽は沈み、Zedの太陽が昇る。私たちはまだ終わっていない。(拙訳)」ということです。かっこいい言葉ですね。Atomの開発終了が告知されたのは、実際の開発終了の半年前であるこの頃ですが、すでにZedの開発は始まっていたようです。
そして、Atom開発終了から2ヶ月半後、今から約1年前、ベータ版がリリースされました! その後も、主にAtomの開発者の方たちだけで、Zedへ機能が追加されていきました。
さらに時は過ぎ、今から約2ヶ月前の2024年1月24日、Zedがオープンソース化されました! 以降は一般の人も開発へ参加できるようになりました。現在は、Mac以外の、まだ対応していないプラットフォームサポートの開発が盛んなようです。
魅力
1. 軽ーーーい!
ZedはRust製ということもあり、やっぱり動作が軽いです。(スペックが高いPCならさほど感じないかもしれないですが、)私の環境では、VSCodeよりZedの方が断然快適です。
2. 基本的なエディタとしての機能
Zedは未だ開発中ですが、ファイルマネージャーや補完機能など、VSCodeなどにあるような基本的な機能は、普通に動きます。言語ごとに設定を分けたり、付属のターミナルを使ったりもできます。長年VSCodeを使ってきた身としても、特に不便には感じません。(強いて言えば、GitをGUIで操作できないなあ…。そのため、私は現在、代わりにCUIで操作しています。)
対応言語
広く使われているプログラミング言語なら、ほとんど使うことができます。以下に、対応しているプログラミング言語を記します。(一部プログラミング言語ではないものを含む)2
- Astro
- C
- C++
- Clojure
- C#
- CSS
- Dart
- Dockerfile
- Elixir
- Elm
- ERB
- Erlang
- Gleam
- GLSL
- Go
- Haskell
- HTML
- JavaScript
- JSON
- Lua
- Markdown
- OCaml
- PHP
- Prisma
- proto
- PureScript
- Python
- Racket
- Ruby
- Rust
- Scheme
- Svelte
- Terraform
- TOML
- TSX
- TypeScript
- Vue.js
- YAML
- Zig
あなたのお気に入りの言語はありましたか? (JavaとかKotlinとかがないの悲しい…)
機能一覧
- ファイルマネージャー
- わかりやすいツリー構造
- Gitに関するハイライト(Gitの最終コミットからの変更点があるファイル(modified)は、ファイル名が黄色になる)
- ターミナル環境
-
⌘J
で開く - デフォルトシェル環境が使える
-
- 補完機能
- 先述の言語に対応
- Pythonで外部モジュールを使うには、venvでの仮想環境構築が必要
-
コラボレーション
- GitHubアカウントでZedにログイン可能
- ログイン後、
Contacts
にZedユーザーのGitHubアカウントを加えることができる -
Channels
を作ることで、Contacts
に入っている人とテキストベースで会話が可能(未検証)(Discordみたいな感じ?)
-
AIアシスタント
- Open AIのAPIキーを設定することで、エディタ内でAIアシスタント(いわゆるChatGPT)を利用可能
- 無料版だとうまくいかなかった
- 拡張機能
- 現在は、テーマやシンタックスハイライトの拡張機能が多め
- 対応言語になかったJavaやKotlinは、拡張機能を入れればハイライトを有効にできる
- テーマ
- デフォルト9種類
- 拡張機能でさらに追加可能
- ユーザーが自分で作ることも可能(VSCodeのテーマ集から無理やり追加できそう)
- Atomのテーマ「One」がデフォルトで入ってる
- ショートカットキー
-
⌘K ⌘S
で開かれる~/.config/zed/keymap.json
に書き込む - デフォルトの設定はこちら
- デフォルトは大体VSCodeと似てる
-
- 設定
-
⌘,
で開かれる~/.config/zed/settings.json
に書き込む - デフォルトの設定はこちら
- 言語ごとに設定を分けられる
-
コラボレーションやAIアシスタントは、バニラのVSCodeにはない目玉機能ではないかと思います。拡張機能なしで、これらが使えるの、すごくないですか? (まだ安定してはないけど…。)
3. Vimみたいに使える
Zedは、もちろんGUIアプリです。しかし、設定のvim_mode
という項目を有効にすることで、なんとエディタ内でVimのコマンドが使えてしまいます!
私はVimmerではないので、大したレビューはできませんが、ノーマルモード、インサートモード、ビジュアルモードなどの区別はちゃんと存在しています。:w
や:q
での保存・終了、h
/j
/k
/l
やw
/W
でのカーソル移動や、d[なんとか]
での削除など、一般的なコマンドは問題なく動きます。通常のエディタからVimモードにするには、設定をちょこっと変えるだけで良く、補完機能などもデフォルトで使えるので、「設定がいらないGUI版Vimもどき」として使えそうです。
インストール方法
現状、macOS 10.15+
でしか、使用することができません。
方法1
こちらのダウンロードページから、dmgファイルをダウンロードしてください。ダウンロードが終わったら、dmgファイルを起動して、あーだこーだしてインストールしてください。(適当)
方法2
もしくは、Homebrewが入っている環境なら、コマンド一発で使える状態にしてくれます。(個人的には、こっちの方法がおすすめです。)
$ brew install --cask zed
どちらの方法でインストールしても、特に違いはありません。(強いて言えば、Homebrewを使った方が、アンインストールがbrew uninstall --cask zed
一発でできます。)
私のやる気があったら、後日、丁寧なインストール方法の記事と、おすすめ設定の記事を書きます。(多分書かない。)
他のAtom後継「Pulsar」
Zedだけ紹介してこれを紹介しないと、誰かに怒られそうなので、書いておきます。
Zedに比べて結構前からあるエディタとして、Pulsarがあります。ZedはAtomの後継といえど、見た目はかなり違うのですが、こちらはAtomとほぼ同じ見た目のエディタです。かつてAtomを愛用していた人が使ったら、感動すると思います。Zedと同じく、こちらもオープンソースで、こちらのリポジトリで開発されています。(ちなみにElectronベースです。)
おわりに
いかがでしたでしょうか? Zedの魅力を感じていただけましたか? ここだけの話、Zedにはまだまだ細かいバグはいくつかあります。しかし、私はZedのような「完全ではないもの」を使いこなすのが好きです(かっこいいから)。また、細かいバグは開発中のソフトウェアにはつきものだと思っているので、今後への期待も込めてZedを愛用しています。事実、なにか不便に感じることは全くありませんし。
この記事を読んで、興味を持ってくれた人は、ぜひZedエディタを触ってみてください!
誤字・脱字などあれば、コメントか編集リクエストで教えていただけるとありがたいです。
この記事が良いと思ったら、ぜひいいねとフォローをよろしくお願いします! Xアカウントのフォローなどもしてくれると泣いて喜びます!
最後まで読んでくださり、ありがとうございました!
参考
-
Linux版も現在開発中のようです。Issueを見た感じ、すでに大体できてそう。私の友達によると、Ubuntu上でリポジトリをクローンして、ローカルでビルドしたら、動いたそうです。 ↩
-
https://github.com/zed-industries/zed/tree/main/docs/src/languages を参考にまとめました。 ↩