Flash Nvim for VSCode - Lightning-fast label-based navigation inspired by Neovim's flash.nvim plugin. Jump anywhere with 2-3 keystrokes. Best alternative to EasyMotion, Jumpy, and AceJump.
Installation
Launch VS Code Quick Open (Ctrl+P), paste the following command, and press enter.
Flash Nvim for VSCode - Fast, precise, label-based code navigation inspired by Neovim's flash.nvim plugin. The most popular Neovim navigation plugin, now available for Visual Studio Code.
Flash Nvim for VSCode brings the power of Neovim's most popular navigation plugin, flash.nvim, to Visual Studio Code. This extension provides lightning-fast, label-based code navigation that lets you jump to any visible location with just 2-3 keystrokes.
Why Choose Flash Nvim for VSCode?
⚡ Lightning Fast: Jump anywhere on screen in milliseconds
🎯 Precise Navigation: Label-based system eliminates guesswork
🔍 Smart Auto-Scroll: Automatically scrolls to matches when they're outside the visible range
🧠 Smart Symbol & Treesitter Selection: Instantly select entire functions, blocks, or scopes - turns 10+ keystrokes into 2-3 for daily copy/cut/refactor tasks
🌐 Universal: Works with vscode.dev (VS Code for Web)
👥 For Everyone: No Vim knowledge required - great for all developers
🔥 Battle-Tested: Based on Neovim's most loved navigation plugin
🎨 Highly Customizable: Adjust colors, labels, and behavior to your preference
Perfect Alternative To
Looking for alternatives to EasyMotion, Jumpy, Jumpy2, or AceJump? Flash Nvim for VSCode offers superior performance and a more intuitive label system, making it the best choice for fast code navigation in VS Code.
Activate Navigation:
Flash VSCode provides two main functionalities:
flash-vscode.start: alt+f Moves the cursor directly to the selected target.
alt+f while some text is selected will search for the selected text.
Press alt+f or alt+shift+f then <search> then enter to goto next match, shift+enter to goto previous match.
Auto-scroll: If all matches are outside the visible range, Flash automatically scrolls to show the nearest match - no manual scrolling needed!
Press alt+f or alt+shift+f then enter to search previously entered query.
Select text and press alt+f or alt+shift+f then enter to search and mark the selected text.
Press alt+f then alt+enter to mark all symbols (functions, classes, variables) in the current file.
Press alt+f (or any active flash mode) then shift+alt+enter for treesitter-style selection - marks hierarchical syntactic scopes (expressions, statements, blocks) around cursor for smart selection.
Press alt+f then alt+j or alt+k to mark all the next line or previous line.
| Next Line | Previous Line |
| :--------------------------------------------------------------------------------------------------: | :--------------------------------------------------------------------------------------------------: |
| | |
🚀 Smart Symbol & Treesitter Selection - Game Changer for Daily Coding:
Dramatically reduce the friction of selecting, cutting, and copying code. No more tedious click-dragging, Shift+Arrow key combos, or hunting for scope boundaries!
Symbol Navigation (alt+enter):
Instantly jump to and select any function, class, or variable in your file
Press alt+f → alt+enter to label all symbols
Hit a label key to select the entire symbol definition (from start to end)
Perfect for: Quickly selecting functions to cut/copy/refactor
Treesitter Selection (shift+alt+enter):
The fastest way to select code scopes - expressions, statements, blocks, functions
Press alt+f (or any active flash mode) → shift+alt+enter
Labels appear on both opening and closing boundaries ({ and }, function start/end, etc.)
Includes sticky scroll context - parent scopes visible at the top
Select a label to automatically select the entire scope
No more manual "find the matching brace" - LSP knows your code structure!
Why this matters for daily programming:
Want to copy a function? alt+f → alt+enter → hit the label → Ctrl+C ✅
Need to select an if-block? shift+alt+enter → hit the label → Done ✅
Refactoring nested code? Jump between scope boundaries instantly ✅
Turns 10+ keystrokes into 2-3 keystrokes for common selection tasks
Selection:
flash-vscode.startSelection: alt+shift+f Extends the selection from the original position to the target.
Preview
Added a preview in status bar.
Cancel Navigation:
Press Backspace to remove the last character of your query, or press Escape to exit jump mode.
Configuration
Case Sensitivity
By default, flash-vscode's search is using smart case. Meaning if any uppercase latter exists then becomes case sensitive, else becomes case insensitive. To change this behavior, add to your settings:
{
"flash-vscode.caseSensitive": false
}
Appearance Customization
The following configuration options allow you to customize the visual appearance of Flash VSCode: