🥷

Rust製のエディターZedを試してみる

2024/01/26に公開

Zedとは

2024/1/25にOOS化されて話題のZed🥷

某忍者を彷彿とさせるような名前のRust製のエディタZedの使用感、差別化ポイントを調査してみる。
所感としてはクラウド時代に透明性を意識したNext Vimって感じ

https://docs.zed.dev/general/readme

Macで使う場合は

$ brew install --cask zed

Vimに相当した機能をもつ

Zedのアーキテクチャとして、Vim Layerを持つようで、Next Vimを目指している模様。

Vim mode in Zed is supposed to primarily "do what you expect": it mostly tries to copy vim exactly, but will use Zed-specific functionality when available to make things smoother.

Vimに100%互換ではないけど、Vim使いが使い慣れたエディターにする予定とのこと。

デフォルトではVim modeはオフなので、⌘+,で設定ファイルを開いて編集

{
  "vim_mode": true
}
Zed特有のバインディングはこんな感じ
# Normal mode
g d   Go to definition
g D   Go to type definition
c d   Rename (change definition)
g A   Go to All references to the current word

g <space>  Open the current search excerpt in its own tab

g s   Find symbol in current file
g S   Find symbol in entire project

g n   Add a visual selection for the next copy of the current word
g N   The same, but backwards
g >   Skip latest word selection, and add next.
g <   The same, but backwards
g a   Add a visual selection for every copy of the current word

g h   Show inline error (hover)

# Insert mode
ctrl-x ctrl-o  Open the completion menu
ctrl-x ctrl-c  Request Github Copilot suggestion (if configured)
ctrl-x ctrl-a  Open the inline AI assistant (if configured)
ctrl-x ctrl-l  Open the LSP code actions
ctrl-x ctrl-z  Hides all suggestions

設定項目

グローバルな設定項目(setting.json)に加えて、ディレクトリ単位で設定ファイル(.zed/setting.json)を記述できる。

拡張機能は実装中(2024/1/26)

Will Zed be extensible?

We plan to make Zed extensible. We won't add a plugin system before we open source Zed, but once that is complete, we will be working on extensibility. The exact details on what sort of languages and APIs we will support are still being worked out.

2024/1/25にOSS化は完了したので、これから取り掛かると思われ。
おそらく、👇の機能群が優先されそう
https://github.com/zed-industries/zed/issues/5393

サーバ側も含めてOSSになっている

Collaborate機能はVSCodeにも提供されているけど、企業でコードの共同編集にはセキュリティが求められるので、そこら辺をケアしているのかなと推測。
https://gigazine.net/news/20240125-zed-code-editor-open-source/

テレメトリーを集めてる

収集している情報(クリックイベントなどの型情報)を公表してる。
こういったことをドキュメントに起こしている試みは珍しいかも。Datadogとかに集積されてるみたい。
透明性の意思を感じる。
https://docs.zed.dev/general/telemetry

まとめ

  • 拡張機能がないので、実務で使うにはまだ、すこし厳しいかも。
  • Next Vimの思想なのでVimPlguinが流用できるようになるのだろうか?
  • プレーンなVimよりはユーザフレンドリーな印象なので、Vimmerの移住先になる、、、かも

Discussion