Vim-For-Docs is a browser extension that brings Vim-like navigation and editing functionality to Google Docs. With Vim-For-Docs, you can navigate, edit, and manipulate your documents using familiar Vim commands—now with a new default "vim" theme that displays a full-width overlay at the bottom. The left side of the overlay shows the current mode, while the right side shows the pending motion buffer.
Note: This extension intercepts keystrokes before they reach Google Docs’ internal editor and remaps them to simulate Vim motions. It is designed for users who love Vim’s efficient navigation and editing style.
Important: This extension requires Google Docs accessibility features to be enabled:
- Open a Google Doc
- Go to Tools → Accessibility
- Enable Screen reader support
- Enable Braille support
Without these settings enabled, the extension will not function properly.
- Vim-like navigation and editing for Google Docs.
- Customizable motions, operators, commands, and text objects via a built‑in Motions Editor.
- Clean, non-destructive editor UX: no row deletion, IDs locked, keys edited in modals.
- Live apply of settings and motions through storage sync listeners (no tabs permission).
- Minimal permissions: storage only.
- Open the popup → Motions Editor to customize key sequences and text object delimiters.
- Edits are validated as you type (token format, duplicates per section/type).
- Changes are saved to browser sync storage and applied instantly.
- A concise Help is available inside each edit modal.
- For general Vim references, see https://vim.rtorr.com/.
Vim-For-Docs intercepts key events from the Google Docs iframe and remaps them to Vim-like motions. The extension:
- Maps keys: For example,
h,j,k,lfor basic navigation. - Handles multi-key commands: Such as
ggandgefor document navigation. - Switches modes: Between Normal, Insert, and Visual, with the "vim" theme providing a full-width overlay that shows the current mode and pending command.
- Simulates keystroke events: To interact with Google Docs’ editing surface.
For a detailed look at the code, please refer to the source files.
Contributions, issues, and feature requests are welcome!
Feel free to check Issues or submit a pull request.
- Chrome Web Store: Vim-For-Docs Extension
Vim-For-Docs is inspired by and continues the work started in the DocsKeys repository.
Vim-For-Docs – Bringing Vim-like navigation and editing to Google Docs!