Vim KeyNav

pending

by Guo Ang

Vim-style keyboard navigation for reading mode and built-in browser: scrolling (j/k/gg/G), half-page (Ctrl+d/f/u/b), tab switching (H/L), history (Ctrl+o/i), search (/), link hints (f/s).

Updated 1mo agoMITDiscovered via Obsidian Unofficial Plugins
View on GitHub

Vim KeyNav

Vim-style keyboard navigation for Obsidian's reading mode and built-in web browser.

Obsidian's built-in Vim mode (Settings → Editor → Vim key bindings) only works in edit mode. This plugin brings the same muscle memory to reading mode and webview tabs — scroll with j/k, jump to top/bottom with gg/G, open links with Vimium-style hint labels, and more.

Keybindings

KeyAction
j / kScroll down / up
ggScroll to top
GScroll to bottom
Ctrl+d / Ctrl+fHalf-page down
Ctrl+u / Ctrl+bHalf-page up
H / LSwitch to previous / next tab
Ctrl+o / Ctrl+iGo back / forward in history
/In-page search
f / sActivate link hints

All keybindings work in both reading mode and the built-in browser (webview).

Link Hints

Press f or s to show yellow labels on every visible link. Type the label characters to click that link. Press Escape to cancel.

Link hints use home-row characters (fjdkslaghrueiwocmvnt) and automatically switch to two-character labels when there are more than 20 links visible.

Webview Support

The plugin injects keybindings into Obsidian's built-in browser tabs. It uses Electron's before-input-event to intercept keys at the host level, which allows it to work on complex web apps with cross-origin iframes (e.g. Lark/Feishu docs). Keys that map to scroll actions are translated into native browser scroll events (ArrowDown, PageDown, etc.) so they work regardless of page structure.

Input fields are detected automatically — vim keybindings are disabled while you're typing in a text field, search box, or editor.

Installation

Manual

  1. Download main.js and manifest.json from the latest release.
  2. Create a folder vim-keynav inside your vault's .obsidian/plugins/ directory.
  3. Copy main.js and manifest.json into that folder.
  4. Restart Obsidian, then enable Vim KeyNav in Settings → Community Plugins.

License

MIT

For plugin developers

Search results and similarity scores are powered by semantic analysis of your plugin's README. If your plugin isn't appearing for searches you'd expect, try updating your README to clearly describe your plugin's purpose, features, and use cases.