Everything Vim page control
Hinted links, Vomnibar, tabs, marks, find, and history — the full upstream binding set, retriggered per frame.
Everything Vim — Chrome extension · Free · Open source
Navigate any page like Vim. Edit every text surface like Vim — text fields, Google Docs, and code editors — with a handoff you never feel.
Free · No signup · Press ? on any page for help
01 — Try it live
Three live miniatures of the extension, running on this page. Pick a step, click in, and type.
Click the buffer, press Esc for Normal mode — h j k l w b move, x and dw delete, i types again.
InsertType to filter — just like o. Press ? anywhere on this page for the full binding help.
02 — How it works
One capture-phase listener decides who owns each keystroke. Editor keys never leak into page scroll, and page keys never type into your buffer.
| Focus | Owner | Keys |
|---|---|---|
| Page | Everything Vim | hjkl scroll · f hints · o vomnibar |
| Textarea | Direct | Esc normal · i insert · dw u . |
| Docs canvas | Synthetic | boots normal · tracks insert for . |
| Monaco / CM | Overlay | Esc opens · Esc saves · ^C drops |
Editing keys are consumed with stopImmediatePropagation — navigation never sees them.
03 — Product
Hinted links, Vomnibar, tabs, marks, find, and history — the full upstream binding set, retriggered per frame.
Operators, text objects, visual modes, and dot-repeat — direct buffer surgery where the DOM allows it.
Canvas editing through synthetic keys and selection motion. Boots in normal mode, because Docs is always editing.
CodeMirror, Monaco, and ProseMirror edit in our own exact surface, then commit once. No desync, ever.
Fast at document_start · zero fetch · remappable everything · per-URL exclusions
04 — Bindings
Move
Act
Modes
05 — Install
Add it from the Chrome Web Store. One click, no signup, free forever.
Press ? on any page. The help dialog lists every navigation binding.
Click any text field, press Esc. You are in normal mode. i types again.
Esc
The only shortcut you need on day one.
Chrome Web Store · Everything Vim · MIT lineage
“Hints for links, real motions in every input, and Docs finally behaves. I uninstalled three extensions.”
06 — Questions
Every site. Page navigation runs on all URLs; text editing activates in any textarea, text input, contenteditable, Google Docs document, or supported code editor.
One capture-phase router runs before page navigation. Editing keys are consumed so navigation never sees them; otherwise the router stays silent. Visible overlays always win, except the commit/discard overlay which owns the keyboard.
Framework editors own their document model — in-place key surgery desyncs it. Editing in an exact textarea and committing once is the only correct approach.
Yes. Custom key mappings, the shared motions JSON, and per-pattern exclusion rules in Options.
Navigate
hjkl scroll · f hints · o vomnibar · gg/G ends
Edit
Esc normal · i insert · dw delete word · u undo · . repeat
Tabs
J/K prev / next · t new · x close · X restore
Live demo only — install the extension to use these on every site.