Skip to content

romgrk/zym

Repository files navigation

zym

zed + neovim + cursor
Native GTK 4 — no Electron.
Node.js under the hood — the full npm ecosystem.

npm version license

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.

zym running a coding agent side by side with the editor, file tree, and a fuzzy command palette

Highlights

  • ⌨️ Vim beyond its best: the vim-mode-plus plugin 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 worktree and 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.

Install

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.91

then:

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.

Quick start

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 guidekeybindings · configuration · git & GitHub · agents.

In action

Coding 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.

Fuzzy command palette listing the agent: commands

Code intelligence (LSP)

Language servers power completion, hover docs, and diagnostics — and zym offers to install a missing server for you.

Autocomplete popup with documentation for the selected entry Hover tooltip showing an inferred type Toast offering to install a missing language server

Navigation & search

Jump to any symbol, search the project with ripgrep, or find-and-replace with regex in the current file.

Symbol picker filtering workspace symbols Project-wide ripgrep picker with live results In-buffer regex search and replace

Git & GitHub

Checkout a pull request branch without leaving your editor. Filter as if you were on GitHub.

Pull request picker filtered by author

Create a pull request in a single click.

Creating a pull request from the current branch

See live CI check status, and jump to any run log:

CI checks all passing for a branch

Project sidebar

A file tree and a live git status view sit side by side in the left dock.

File tree in the sidebar Git status view listing staged and unstaged changes

Documentation

  • 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.

License

GPL-3.0-or-later.

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.

About

[BETA] A modal source-code editor built with GTK 4 on node-gtk

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors