Vimium is “a browser extension that provides keyboard-based navigation and control of the web in the spirit of the Vim editor”, MIT-licensed, for Chrome, Edge and Firefox. Version 2.4.2 shipped in March 2026; it has about 27,000 stars. Flash’s hints are Vimium’s idea applied to every app, and Flash’s default NORMAL keys follow Vimium’s where they fit.
| Vimium | Flash | |
|---|---|---|
| License, price | MIT, free | MIT, free |
| Where it works | Inside web pages of the browser it is installed in | Every macOS app, including browsers, through Accessibility |
| Hints from | The DOM | The Accessibility tree |
| Modes | Vim-like keys per page, insert mode, visual mode | Persistent NORMAL, INSERT, COMMAND, HOLD and TERMINAL across apps |
| Search | Vomnibar over URLs, bookmarks, history and tabs | flashlight over apps, tabs, windows, tmux, emoji, plugin data, history and bookmarks by source |
| Configuration | Options page with map syntax |
One TOML file |
| Permissions | Extension permissions (all URLs, tabs, history) | Accessibility; Automation per browser for tab lists |
f works in Safari, Finder, Slack, Xcode
and a terminal. Vimium cannot run on chrome:// pages, the Web Store,
view-source tabs or the browser’s new tab page.]t becomes the next tmux window.f hints, gg/G, ctrl+d/ctrl+u, [t/]t,
x/X close and reopen tabs, / opens Find
(normal mode).mouse_target --scope=screen labels Picture-in-Picture players and other
apps’ windows too.:flashlight @firefox.history rust or !fh rust search browser history
by bang (flashlight).| Vimium | Flash |
|---|---|
f / F link hints |
f in NORMAL; open in a new tab by holding ⌘ while typing the label |
j / k scroll |
ctrl+e / ctrl+y; j and k are unbound by default |
gg / G |
Same |
J / K tabs |
[t / ]t |
x / X tabs |
Same |
/ find |
Same, switching to INSERT in the find field |
o / t vomnibar |
t opens a new tab; :flashlight searches |
map syntax |
[mode.normal.mappings] in flash.toml |
Keep Vimium for in-page power (text-filtered hints, visual mode); Flash swallows unmapped NORMAL keys, so unmap in one what you use in the other:
[mode.apps."org.mozilla.firefox".normal.mappings]
"f" = false # let Vimium handle hints in Firefox
Checked 2026-10-14 against the Vimium README, changelog and FAQ.