Open-Awesome
CategoriesAlternativesStacksSelf-HostedExplore
Open-Awesome

© 2026 Open-Awesome. Curated for the developer elite.

TermsPrivacyAboutGitHubRSS
  1. Home
  2. Neovim
  3. flash.nvim

flash.nvim

Apache-2.0Luav2.1.0

A Neovim plugin for enhanced code navigation using search labels, character motions, and Treesitter integration.

GitHubGitHub
4.2k stars92 forks0 contributors

What is flash.nvim?

flash.nvim is a Neovim plugin that enhances code navigation by overlaying jump labels on search matches, character motions, and Treesitter nodes. It solves the problem of inefficient cursor movement by providing visual targets for quick, precise jumps across files and windows.

Target Audience

Neovim users, particularly developers who want faster, more intuitive navigation within codebases, especially those working with complex projects or multiple windows.

Value Proposition

Developers choose flash.nvim for its seamless integration with existing Neovim workflows, visual feedback via labels, and extensive customization options. It uniquely combines search, character motions, and Treesitter navigation into a single, cohesive tool.

Overview

Navigate your code with search labels, enhanced character motions and Treesitter integration

Use Cases

Best For

  • Quickly jumping to search results across multiple files
  • Enhancing f/t/F/T motions with visual labels
  • Navigating code structure using Treesitter nodes
  • Performing remote edits in other windows
  • Building custom navigation workflows with Lua
  • Reducing keystrokes for repetitive jumps

Not Ideal For

  • Neovim users on versions older than 0.8.0 or those sticking to vanilla Vim
  • Developers who prefer minimalist setups without any visual overlays or distractions
  • Environments where performance overhead from real-time highlighting is critical, such as on low-resource machines

Pros & Cons

Pros

Visual Jump Labels

Overlays unique labels on search matches and motions, providing immediate visual feedback that reduces keystrokes and cognitive load, as shown in the README's GIFs and integration examples.

Deep Neovim Integration

Seamlessly enhances native workflows like search (/ and ?), f/t/F/T motions, and Treesitter nodes without disrupting existing habits, evidenced by the search integration and char motion features.

Highly Extensible API

Offers a comprehensive Lua API for custom matchers, labelers, and actions, allowing advanced users to build tailored navigation flows, as detailed in the examples and configuration sections.

Multi-Window Navigation

Supports jumping across multiple Neovim windows and remote actions, enabling efficient cross-file edits without losing context, highlighted in the features and remote_op config.

Cons

Complex Lua Configuration

Requires non-trivial Lua setup for keymaps and opts, with a lengthy default config that can intimidate users not familiar with Neovim's Lua ecosystem, as seen in the installation and config details.

Performance Trade-Offs

Visual overlays and real-time highlighting may introduce lag on large files or with many matches, and the README doesn't address optimization or performance benchmarks.

Treesitter Dependency

Core features like Treesitter mode rely on proper Treesitter setup, limiting usefulness in environments without it or with unsupported languages, as admitted in the Treesitter integration description.

Frequently Asked Questions

Quick Stats

Stars4,230
Forks92
Contributors0
Open Issues5
Last commit16 days ago
CreatedSince 2023

Tags

#treesitter#vim-motions#neovim-plugin#code-navigation#neovim#lua#multi-window#extensible

Built With

N
Neovim
L
Lua

Included in

Neovim20.6k
Auto-fetched 6 hours ago

Related Projects

leap.nvimleap.nvim

Neovim's answer to the mouse 🦘

Stars5,031
Forks53
Last commit15 hours ago
lightspeed.nvimlightspeed.nvim

deprecated in favor of leap.nvim

Stars1,553
Forks27
Last commit2 years ago
precognition.nvimprecognition.nvim

💭👀precognition.nvim - Precognition uses virtual text and gutter signs to show available motions.

Stars1,386
Forks16
Last commit1 month ago
nvim-spidernvim-spider

Use the w, e, b motions like a spider. Move by subwords and skip insignificant punctuation.

Stars900
Forks18
Last commit1 month ago
Community-curated · Updated weekly · 100% open source

Found a gem we're missing?

Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.

Submit a projectStar on GitHub