Item logo image for JK Vim-Style Page/Tab Navigation

JK Vim-Style Page/Tab Navigation

ExtensionTools
Item media 2 (screenshot) for JK Vim-Style Page/Tab Navigation
Item media 1 (screenshot) for JK Vim-Style Page/Tab Navigation
Item media 2 (screenshot) for JK Vim-Style Page/Tab Navigation
Item media 1 (screenshot) for JK Vim-Style Page/Tab Navigation
Item media 1 (screenshot) for JK Vim-Style Page/Tab Navigation
Item media 2 (screenshot) for JK Vim-Style Page/Tab Navigation

Overview

Vim keys on every page: j/k scroll, gg/G, f link hints, H/L history, Shift+J/K switch tabs. Works in any keyboard layout.

JK Vim-Style Page/Tab Navigation (jk-nav) adds Vim-style keyboard navigation to every page and to the tab strip, in Chrome and Firefox, from one codebase. KEYS - j / k: scroll down / up by one step. Hold the key to keep scrolling; release to stop. - gg / G: go to the top / bottom of the page. - H / L: go back / forward in history. - f: show a two-character hint beside up to 900 visible links, buttons and form fields. Type the hint to activate it. Esc leaves hint mode. - Shift+J / Shift+K: switch to the tab on the left / right. Wraps at both ends, skips hidden tabs and, in Chrome and Firefox 139 or newer, tabs in collapsed tab groups. Stays in the current window. PERFORMANCE jk-nav is built to stay out of your way: - Page load: the content script starts at document_start and adds about 2 ms to the load event of a page with 3,000 links (benchmark in Chromium, 20 runs). - Scrolling: j and k move the page in the same frame as the key press. A second press reacts in about 2 ms. - Link hints: f draws hints for 900 visible targets on a 3,000-link page in about 7 ms. - No background work: nothing runs between key presses, and no network, analytics or remote code. Method and raw numbers: https://github.com/Seigiard/jk-nav/blob/main/docs/bench/README.md HIGHLIGHTS - Added Tab switching with Shift+J / Shift+K alongside the page keys. - Keys work in every keyboard layout. They are matched by physical key position, so Russian, German or any other layout behaves like QWERTY, and Caps Lock changes nothing. - Typing stays yours: in text fields, text areas, drop-downs, editable content and during IME composition, the keys type text as usual, also inside web components. After you click a button, checkbox or slider, the keys keep working. - Link hints that behave: f does nothing on a page with no targets, a wrong first key just closes the hints, and very large pages no longer break hint mode. - Smooth scrolling: every j / k step is animated, and holding the key scrolls continuously. - Shortcuts with Ctrl, Alt or Meta pass through, so Ctrl+F still opens the find bar. PRIVACY jk-nav collects no data, makes no network requests and runs no remote code. Its only API permission is tabGroups, used to skip collapsed tab groups when switching tabs. Privacy policy: https://github.com/Seigiard/jk-nav/blob/main/PRIVACY.md KNOWN LIMITATIONS - Browser pages (chrome://, about:, the extension stores, built-in PDF viewers) do not allow extensions, so no key works there. A tab switch can still land on one; leave it with the browser's own shortcut. - Sites with their own j / k shortcuts (Gmail, GitHub, X) conflict with jk-nav while you are not typing. ORIGIN jk-nav is a fork of "Vim-Style Page Navigation" by Johnny Matthews (https://github.com/johnnymatthews/vim-style-page-navigation), published on AMO as "Simple Vim Scrolling". The fork adds tab switching, makes the keys work in every keyboard layout, and fixes scrolling, Ctrl+F and typing detection; the same changes are proposed upstream in https://github.com/johnnymatthews/vim-style-page-navigation/pull/1. Every key of the original keeps its meaning. Source code: https://github.com/Seigiard/jk-nav (MIT).

Details

  • Version
    1.1.2
  • Updated
    November 8, 2026
  • Offered by
    seigiard@gmail.com
  • Size
    14.04KiB
  • Languages
    English
  • Developer
    Email
    seigiard@gmail.com
  • Non-trader
    This developer has not identified itself as a trader. For consumers in the European Union, please note that consumer rights do not apply to contracts between you and this developer.

Privacy

Manage extensions and learn how they're being used in your organization
The developer has disclosed that it will not collect or use your data. To learn more, see the developer’s privacy policy.

This developer declares that your data is

  • Not being sold to third parties, outside of the approved use cases
  • Not being used or transferred for purposes that are unrelated to the item's core functionality
  • Not being used or transferred to determine creditworthiness or for lending purposes

Support

For help with questions, suggestions, or problems, visit the developer's support site

Search
Clear search
Close search
Google apps
Main menu