Skip to content

🐴 Vem

A next-generation Vim editor, drawn — not rendered — in your browser.

Vem is a modal text editor built entirely on the canvas-native VectoJS UI engine. There is zero DOM in the editing area: every glyph, cursor, selection, and split divider is drawn directly to Canvas 2D. The result is a Vim that feels native anywhere a canvas exists — in the browser at vem.run, or natively via the Tauri desktop shell.

Try it now: vem.run — full NORMAL / INSERT / VISUAL / COMMAND editing, :vsp/:sp splits, tabs, mouse selection & wheel scrolling, / search, and the official plugin set, running live in your browser.

Repositories

Repo What it is
vem The editor monorepo: @vemjs/core, renderer-vecto, lsp-client, plugin-api
vem-plugins Official plugins: telescope, lualine, treesitter, git, autopairs, and more
vem-website vem.run — the live playground and docs site
vem-desktop Tauri desktop shell — same editor, native window, XDG-based config/cache

Building blocks

  • @vemjs/core — the pure Vim state machine: modes, motions, operators, buffers, undo, keybinding parser. No rendering, no DOM, fully testable.
  • @vemjs/renderer-vecto — the VectoJS canvas renderer: workspace explorer, tabs, resizable split panes.
  • @vemjs/lsp-client — JSON-RPC 2.0 LSP client for completion, hover, and diagnostics.
  • @vemjs/plugin-api — TypeScript-first plugin SDK: keybinding overrides, statusline segments, pickers, gutter decorations, event hooks.

Why canvas-native?

Text editors fight the DOM: layout thrash, focus quirks, compositor overhead. Vem sidesteps all of it — the editor is a single scene graph of mathematical shapes, laid out and hit-tested by VectoJS, with accessibility projected to a real shadow DOM so screen readers and automation still work. Plugins are plain TypeScript. No Lua, no WASM toolchain, no build step for a .vemrc.js.

Status

Actively developed. The packages are published on npm under the @vemjs scope and power vem.run. Issues and PRs are welcome in the individual repositories.

Popular repositories Loading

  1. vem vem Public

    A next-generation Vim editor powered by VectoJS, running in Web & Tauri

    TypeScript

  2. vem-website vem-website Public

    Vem Web Portal — a full-screen modal editor playground running 100% inside VectoJS canvas renderer

    TypeScript

  3. vem-plugins vem-plugins Public

    Official plugins ecosystem for Vem (a next-generation Vim editor powered by VectoJS)

    TypeScript

  4. .github .github Public

  5. vem-desktop vem-desktop Public

    Vem's Tauri desktop shell — the same canvas-native editor, native window, XDG-based config/cache

    TypeScript

Repositories

Showing 5 of 5 repositories

People

This organization has no public members. You must be a member to see who’s a part of this organization.

Top languages

Loading…

Most used topics

Loading…