A next-generation Vim editor powered by VectoJS, running in Web & Tauri
Vem is a modal editor built entirely on a high-performance Canvas 2D engine. Zero DOM overhead in the editing area — every glyph, cursor, and highlight is drawn directly with VectoJS.
| Package | Description | Version |
|---|---|---|
@vemjs/core |
Vim state machine, keybinding parser, buffer, diagnostics API | |
@vemjs/renderer-vecto |
VectoJS canvas renderer, WorkspaceExplorer, split panes | |
@vemjs/lsp-client |
JSON-RPC 2.0 engine, LSP document sync, diagnostics bridge | |
@vemjs/plugin-api |
Plugin SDK, keybinding overrides, editor event hooks |
- Zero DOM in the editor core — text rendering via Canvas 2D with VectoJS
- Full Vim modal editing — NORMAL / INSERT / VISUAL / COMMAND with motions, operators, text objects
- LSP-native — built-in JSON-RPC 2.0 client, completion, hover, diagnostics
- Plugin system — TypeScript-first plugin API with custom keybindings and event hooks
- Web & desktop — runs in the browser at vem.run, or natively via the Tauri desktop shell
bun add @vemjs/core @vemjs/renderer-vectoSee each package's README for full documentation.
git clone https://github.com/vemjs/vem.git
cd vem
bun install
bun run build
bun testSee CONTRIBUTING.md. Every change goes through Issue → Branch → PR → Review → Merge.
MIT © vemjs