zed + neovim + cursor
Native GTK 4 — no Electron.
Node.js under the hood — the full npm ecosystem.
A keyboard-driven, modern code editor — blending the best from neovim, atom, zed, vscode, and so many others — with coding agents living right alongside you — each tracked live, so you always know which agent is working, waiting, or done.
Beta state. Tested on Linux; might not run on macOS or Windows yet.
- ⌨️ Vim beyond its best: the
vim-mode-plusplugin ported from Atom — so good it's better than the original. Multi-cursor, occurrences, text objects, operators, and more (target.vim, leap.nvim, etc). - 🤖 Agents (well at least
claude) — you work alongside your minions. Jump to their workbench to see what they edited. Jump to your workbench to work on your own. - 🌳 Worktree isolation — spawn agents in their own
git worktreeand switch to their view whenever you want. - 🪟 Built for simplicity — a
space-leader scheme (thanks Spacemacs) and fuzzy finders for everything. - 🎨 Native GNOME look — Adwaita with simple theming support.
- ✨ Editor essentials — LSP, tree-sitter syntax highlighting, file tree, git integration, and more.
zym needs Node.js ≥ 22.15 and the GTK 4 stack (GTK 4, libadwaita, GtkSourceView 5, Vte):
# Arch
sudo pacman -S --needed nodejs npm gtk4 libadwaita gtksourceview5 vte4
# Fedora
sudo dnf install nodejs npm gtk4 libadwaita gtksourceview5 vte291-gtk4
# Debian / Ubuntu
sudo apt install gir1.2-gtk-4.0 gir1.2-adw-1 gir1.2-gtksource-5 gir1.2-vte-3.91then:
npm install -g zym-editor --allow-scripts=native-keymap,node-gtk
zym # open the editor
zym --install-desktop # add zym to your app launcher (optional)Details, pnpm instructions, and fixes for common problems: getting started · troubleshooting.
Everything hangs off the space leader — press space, then a mnemonic:
| Keys | Action |
|---|---|
space space |
command palette — fuzzy-search every command |
space ? |
keymap panel — every binding, live |
space o |
fuzzy file picker |
space / |
project-wide search (ripgrep) |
space g g |
git panel |
space a a |
agent picker |
space , , |
preferences |
The editor is modal (vim), terminals are modal too, and every list navigates
with j/k. Full tour: the user guide —
keybindings ·
configuration ·
git & GitHub ·
agents.
Run claude and friends in the workbench, branch and switch between them from
a fuzzy command palette, and drive everything without leaving the keyboard.
Language servers power completion, hover docs, and diagnostics — and zym offers to install a missing server for you.
Jump to any symbol, search the project with ripgrep, or find-and-replace with regex in the current file.
Checkout a pull request branch without leaving your editor. Filter as if you were on GitHub.
Create a pull request in a single click.
See live CI check status, and jump to any run log:
A file tree and a live git status view sit side by side in the left dock.
- User guide — getting started, keybindings, configuration, git & GitHub, agents, troubleshooting.
- Vim keymap reference — every binding, per mode.
docs/— internal architecture notes, if you want to hack on zym itself.
The tree-sitter highlight queries under src/syntax/queries/ are vendored from
Zed (crates/grammars/src/), which are
licensed GPL-3.0 — bundling them is why zym is distributed under the GPL.