confuserdotcom36 downloadsJump anywhere on screen in Vim mode: type a few characters, press the label. Works inside rendered LaTeX maths too.
flash.nvim for Obsidian.
Press s, type two letters, hit the label. Even inside rendered LaTeX maths.
Use · Inside maths · Settings · Install
Jump anywhere on screen in Obsidian's Vim mode, like flash.nvim: press s, type a few characters of where you want to go, then the label that appears there.
What it adds over other jump plugins: it reaches inside rendered LaTeX maths. While a jump is open, the note shows its formulas as written, so \varphi in the middle of a $$…$$ block is a target like any word; Live Preview comes back as soon as you land.
▶ Watch the full-quality video
| Keys | What they do |
|---|---|
s then characters |
labels appear on every match on screen, the closest first |
| the label | jump there |
| more characters | fewer matches; when one is left, it jumps by itself |
Enter |
jump to the closest match |
Backspace |
one character less |
Esc |
cancel |
v … s grows the selection to the target (the target character included).zz: the target line comes to the middle of the screen.Tab, Ctrl-…), a click, switching notes or 20 s without a key end the jump; the key still does its normal job.\, {, ^ and accented letters are ordinary characters: on AZERTY, AltGr keys and dead keys work.When rendered maths is on screen, s switches the note to Source mode for the jump, with the cursor's line kept at the same height, and back to Live Preview when it ends (whatever ends it). A tab left in Source mode by a crash in the middle of a jump is put back the next time the plugin loads. Turn this off in the settings for plain jumps only.
If you use Latex Suite's conceal, Source mode still conceals: turn conceal off to see the raw LaTeX during a jump.
s; it replaces Vim's substitute, which is also cl). Changing it, or turning the plugin off, gives the old key back to Vim.The command Flash Jump: Jump works without Vim too: bind it to a hotkey.
Labels and matches can be restyled in a CSS snippet:
body { --flash-jump-label-bg: #7c5cff; --flash-jump-label-fg: #fff; --flash-jump-match-bg: rgba(124, 92, 255, .25); }
Works with Obsidian's built-in Vim (Settings → Editor → Vim key bindings) and with Vim Motions (re-registered after each of its config reloads). If Vim Motions' own flash jump (also on s) is on, turn it off in its settings.
The key is a Vim action, not a vimrc map: a vnoremap s :… would leave visual mode first and lose the selection, so don't map it in your vimrc.
Until it is in the community plugins list, either:
confuserdotcom/obsidian-flash-jump, ormain.js, manifest.json and styles.css from the latest release into <vault>/.obsidian/plugins/flash-jump/, then enable Flash Jump in Settings → Community plugins.No build step: main.js is the plugin.
npm test # unit tests: matching, labels, selection, keys, settings
node e2e-isolated.mjs # real key presses in a separate Obsidian with a throwaway vault (macOS)
The plugin is free and stays free. If it saves you time, you can support it here.
If it saves you a trip to the mouse, a ⭐ on GitHub helps other Obsidian users find it.
Bugs and ideas: open an issue.