Introduction
Vimium brings Vim-style navigation to your browser, letting you browse the web without touching a mouse. It maps familiar motions like hjkl scrolling, / search, and f link-hinting to everyday browsing tasks.
What Vimium Does
- Displays letter hints on every clickable element so you can follow links by typing
- Scrolls pages with
j/k/d/ujust like Vim - Opens a smart URL/bookmark/history bar with
oorO - Switches between tabs with
J/Kand reopens closed tabs withX - Lets you define custom key mappings and search engines
Architecture Overview
Vimium is a browser extension written in JavaScript/CoffeeScript. It injects a lightweight content script into each tab that listens for keystrokes and renders hint overlays using a DOM layer. A background script manages cross-tab state, settings sync, and the Vomnibar search interface.
Self-Hosting & Configuration
- Install from the Chrome Web Store or Firefox Add-ons marketplace
- Open the Vimium options page to customize key bindings
- Add custom search engines with keywords (e.g.,
wfor Wikipedia) - Define URL patterns to exclude specific sites from Vimium
- Import or export settings as JSON for team-wide consistency
Key Features
- Link hinting with single-character or multi-character codes
- Vomnibar for fuzzy-matching open tabs, bookmarks, and history
- Visual mode for selecting and copying text without a mouse
- Marks for jumping back to saved scroll positions
- Works on Chrome, Firefox, and Edge with identical behavior
Comparison with Similar Tools
- Surfingkeys — more configurable with a built-in JS API, heavier footprint
- Tridactyl — Firefox-only, closer to full Vim emulation in the browser
- Qutebrowser — standalone browser with Vim bindings, not an extension
- cVim — Chrome-only, less actively maintained
FAQ
Q: Does Vimium work on internal browser pages like settings? A: No. Browser security policies block extensions from running on chrome:// or about: pages.
Q: Can I disable Vimium on specific sites? A: Yes. Add URL patterns to the excluded-URLs list in the options page.
Q: Does it conflict with web apps that use keyboard shortcuts? A: You can add those sites to the exclusion list or use Insert mode to pass keys through.
Q: Is it open source? A: Yes, MIT-licensed at github.com/philc/vimium.