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

guoangguoang245 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

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
5 months ago
Created
5 months ago
Updates
1 release
Downloads
245
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.

Tab Switcher

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

Quiet Outline

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

Footnote Shortcut

Makes creating footnotes more fun!

Leader Hotkeys

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

Sidebar Keyboard Navigation

Smoothly navigate the native File Explorer using keyboard only (Vim-like).

Insert Heading Link

Add a command to create a link to a heading.

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.

Breadcrumbs

Visualise the hierarchy of your vault using a breadcrumb trail or matrix view.