Vimium Navigation

approved

by Giuseppe

Navigate notes, links, sidebars, and tabs with Vimium-style keyboard controls. - This plugin has not been manually reviewed by Obsidian staff.

53 downloadsUpdated 6d agoMIT

Vimium Navigation

Keyboard-first, modal navigation for Obsidian, inspired by Vimium.

Vimium Navigation starts in Normal mode, where printable keys control the interface instead of editing your note. Press i to enter Insert mode, or click any editable field to enter Insert mode automatically. Press Esc to return to Normal mode.

Features

  • Move the editor cursor with Vim-style keys in the Markdown editor, and scroll notes and other views with the same keys.
  • Show compact keyboard hints over visible links, buttons, tabs, ribbon controls, and sidebar items.
  • Search and open notes without leaving the keyboard.
  • Navigate note history and workspace tabs.
  • Find text in the active note with /, n, and N.
  • Copy and open obsidian:// note links through the clipboard.
  • Follow the active vault theme and accent color.
  • Configure scrolling, hint characters, and the mode badge.

Shortcuts

Press ? in Normal mode to open the complete in-app reference.

KeysAction
j / kMove the editor cursor down / up, or scroll other views
h / lMove the editor cursor left / right, or scroll other views
gg / GScroll to top / bottom
d / uMove the editor cursor and scroll half a page down / up
f / FFollow a visible target / open a note target in a new tab
i / EscEnter Insert / Normal mode
giFocus the first editable field
/Find in the active note
n / NNext / previous match
o / OSearch notes / open in a new tab
b / BOpen a note / open in a new tab
TSearch open workspace tabs
H / LPrevious / next note in plugin history
tOpen a new workspace tab
J / KPrevious / next workspace tab
g0 / g$First / last workspace tab
ytDuplicate the current note tab
x / XClose / restore a note tab
yyCopy the current note's obsidian:// URL
p / POpen a clipboard note link / open in a new tab
rReload the active note

Browser-specific concepts are mapped to native Obsidian equivalents: browser tabs become workspace tabs, URLs and bookmarks become notes, and link hints include Obsidian controls.

Installation

Requires Obsidian 1.5.0 or newer.

Community plugins

Vimium Navigation is available in the official Obsidian Community Plugins directory. You can download and install it from the Vimium Navigation community page.

  1. Open Settings → Community plugins.
  2. Select Browse and search for Vimium Navigation.
  3. Select Install, then Enable.

Manual installation

Download main.js, manifest.json, and styles.css from the latest GitHub release. Place them in:

<vault>/.obsidian/plugins/vimium-navigation/

Reload Obsidian, then enable Vimium Navigation under Community plugins.

Settings

  • Smooth scrolling controls animated scrolling.
  • Scroll step controls the distance moved by j, k, h, and l.
  • Hint characters controls the alphabet used for link labels.
  • Show mode badge toggles the Normal/Insert indicator.

Privacy and security

Vimium Navigation:

  • Does not collect telemetry or analytics.
  • Does not make network requests.
  • Does not require an account or paid service.
  • Does not display advertising.
  • Does not read or write files outside the standard Obsidian APIs.
  • Uses clipboard access only when you invoke yy, p, or P.

Settings are stored through Obsidian's plugin data API.

Development

Requirements: Node.js 18 or newer and pnpm.

pnpm install
pnpm check

Useful commands:

pnpm dev      # watch and rebuild main.js
pnpm test     # run key-sequence tests
pnpm build    # type-check and create a minified production bundle

The repository intentionally ignores main.js; compiled files are attached to GitHub releases.

Release process

  1. Update the version in manifest.json, package.json, and versions.json.
  2. Commit and push the source.
  3. Create and push a tag matching the manifest version exactly, without a v prefix—for example 0.1.0.
  4. The release workflow verifies, builds, and attaches main.js, manifest.json, and styles.css to a GitHub release.

Acknowledgements

This independent project is inspired by the keyboard model of the Vimium browser extension. It is not affiliated with or endorsed by the Vimium or Obsidian projects.

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.