Vim-style scrolling + hint(f/F), find(/ n/N), history(H/L), page ops(r t x*), misc(yy p o ?). UserScript-safe fallbacks.
A Tampermonkey userscript that brings Vim-style navigation to the web:
hjkl, d/u, gg/Gf / F/, n / NH / Lr, t, x*yy, p, o, ?
*xcan only close tabs that were opened by scripts (browser restriction).
h / l — scroll left/rightj / k — scroll down/upd / u — page down/up (distance = baseStep + extraPage)gg / G — jump to top/bottomf — open hinted link in current tabF — open hinted link in new tab (uses GM_openInTab → window.open fallback)/ — open lightweight find barn / N — next / previous match (based on window.find)H — back, L — forwardr — reload, t — new tab, x — close tab*J/K tab switching is not available in UserScript due to browser permissions.yy — copy current page URL (clipboard API / GM fallback)p — open URL from clipboard (or prompt fallback)o — open URL or search (prompt)? — help overlaySmart input detection: Hotkeys are disabled inside
INPUT/TEXTAREA/SELECT/contentEditable/designMode=on.
Open Tampermonkey → this script → Menu Commands to adjust:
baseStep, default 100)extraPage, default 300)ggIntervalMs, default 600 ms)useNativeSmooth, on/off)ignoreWithModifier, on/off)/.*\.notion\.site\//)hintChars), Hint Max Letters (hintMaxLetters)GM_openInTab, GM_setClipboard, GM_getValue/GM_setValue, GM_registerMenuCommand.x doesn’t close: Browsers only allow scripts to close tabs that they opened.| Category | Keys | Action |
|---|---|---|
| Scroll | j / k | Down / Up |
| h / l | Left / Right | |
| d / u | Page Down / Up (base+extra) | |
| gg / G | Top / Bottom | |
| Hint | f / F | Open link (current / new tab) |
| Find | /, n / N | Open find, Next / Prev |
| History | H / L | Back / Forward |
| Page | r / t / x | Reload / New tab / Close tab* |
| Misc | yy / p / o / ? | Copy URL / Open from clipboard / Open or search / Help |
MIT License © Wenbo Bian