Search...Search plugins and themes...
⌘K
Sign in
  • Get started
  • Download
  • Pricing
  • Enterprise
  • Account
  • Obsidian
  • Overview
  • Sync
  • Publish
  • Canvas
  • Mobile
  • Web Clipper
  • CLI
  • Learn
  • Help
  • Developers
  • Changelog
  • About
  • Roadmap
  • Blog
  • Resources
  • System status
  • License overview
  • Terms of service
  • Privacy policy
  • Security
  • Community
  • Plugins
  • Themes
  • Discord
  • Forum / 中文论坛
  • Merch store
  • Brand guidelines
Follow us
DiscordTwitterBlueskyThreadsMastodonYouTubeGitHub
© 2026 Obsidian

Vim KeyNav

guoangguoang86 downloads

Vim-style keyboard navigation for reading mode and built-in browser.

Add to Obsidian
  • Overview
  • Scorecard
  • Updates1

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

Key Action
j / k Scroll down / up
gg Scroll to top
G Scroll to bottom
Ctrl+d / Ctrl+f Half-page down
Ctrl+u / Ctrl+b Half-page up
H / L Switch to previous / next tab
Ctrl+o / Ctrl+i Go back / forward in history
/ In-page search
f / s Activate 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

94%
HealthExcellent
ReviewSatisfactory
About
Bring Vim-style navigation to reading mode and built-in browser tabs. Scroll with j/k, jump with gg/G, open links via Vimium-style hint labels, and inject host-level keybindings into webviews (including cross-origin iframes) while disabling keys in input fields.
VimNavigationHotkeys
Details
Current version
1.0.0
Last updated
3 months ago
Created
3 months ago
Updates
1 release
Downloads
86
Compatible with
Obsidian 1.0.0+
Platforms
Desktop only
License
MIT
Report bugRequest featureReport plugin
Author
guoangguoang
github.com/guoang
GitHubguoang
  1. Community
  2. Plugins
  3. Vim
  4. Vim KeyNav

Related plugins

Creases

Tools for effectively folding Markdown sections.

Quiet Outline

Make outline quiet and more powerful, including no-auto-expand, rendering heading as Markdown, and search support.

Leader Hotkeys

Add leader hotkey support to any command (like tmux or vim).

Insert Heading Link

Add a command to create a link to a heading.

Footnote Shortcut

Makes creating footnotes more fun!

Core Search Assistant

Enhance built-in search: keyboard interface, card preview, bigger preview.

Tab Switcher

Switch your tabs with Ctrl + Tab in recently used order like in a browser.

Notebook Navigator

A better file browser and calendar inspired by Apple Notes, Bear, Evernote and Day One.

Homepage

Open a note, base, or workspace on startup, or set it for quick access later.

Recent Files

Display a list of recently opened files.