Skip to content

vemjs/vem

Repository files navigation

Vem

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

CI npm License: MIT

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.

Packages

Package Description Version
@vemjs/core Vim state machine, keybinding parser, buffer, diagnostics API npm
@vemjs/renderer-vecto VectoJS canvas renderer, WorkspaceExplorer, split panes npm
@vemjs/lsp-client JSON-RPC 2.0 engine, LSP document sync, diagnostics bridge npm
@vemjs/plugin-api Plugin SDK, keybinding overrides, editor event hooks npm

Why Vem?

  • 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

Getting Started

bun add @vemjs/core @vemjs/renderer-vecto

See each package's README for full documentation.

Development

git clone https://github.com/vemjs/vem.git
cd vem
bun install
bun run build
bun test

Contributing

See CONTRIBUTING.md. Every change goes through Issue → Branch → PR → Review → Merge.

License

MIT © vemjs

About

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

Topics

Resources

License

Contributing

Security policy

Stars

0 stars

Watchers

0 watching

Forks

Packages

 
 
 

Contributors