Open-Awesome
CategoriesAlternativesStacksSelf-HostedExplore
Open-Awesome

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

TermsPrivacyAboutGitHubRSS
  1. Home
  2. Neovim
  3. fzf-lsp.nvim

fzf-lsp.nvim

MITLua

A Neovim plugin that integrates fzf fuzzy search with the built-in LSP for navigating symbols, definitions, and diagnostics.

GitHubGitHub
238 stars15 forks0 contributors

What is fzf-lsp.nvim?

fzf-lsp.nvim is a Neovim plugin that integrates the fuzzy-finding capabilities of fzf with Neovim's built-in Language Server Protocol (LSP) client. It provides an intuitive interface for searching and navigating through code symbols, definitions, references, diagnostics, and more directly within Neovim, enhancing code exploration and productivity.

Target Audience

Neovim users (version 0.5+) who utilize the built-in LSP client and want to improve their code navigation and discovery workflows with fuzzy search. It is particularly suited for developers who are already familiar with fzf and seek a more efficient way to interact with LSP-provided data.

Value Proposition

Developers choose fzf-lsp.nvim because it combines the speed and flexibility of fzf's fuzzy search with the rich code intelligence of Neovim's LSP, offering a seamless and customizable navigation experience. Its support for both synchronous commands and asynchronous LSP handlers provides flexibility for different workflow preferences.

Overview

Enable the power of fzf fuzzy search for the neovim built in lsp

Use Cases

Best For

  • Fuzzy searching across LSP symbols, definitions, and references in Neovim
  • Navigating complex codebases with comprehensive symbol exploration (e.g., document/workspace symbols, implementations, type definitions)
  • Viewing and filtering diagnostics by severity level for efficient error handling
  • Exploring available code actions for quick refactoring or fixes
  • Understanding code flow through call hierarchy navigation (incoming/outgoing calls)
  • Customizing LSP interaction with fzf layouts, colors, and preview windows

Not Ideal For

  • Environments where installing external tools like fzf and bat is restricted or cumbersome
  • Users who prefer GUI-based or non-fuzzy search interfaces for LSP navigation, such as those using telescope.nvim or built-in LSP UIs
  • Teams relying on language servers that lack support for advanced LSP methods like declarations or call hierarchies, limiting plugin functionality

Pros & Cons

Pros

Fuzzy Search Efficiency

Integrates fzf for fast, intuitive fuzzy searching across all LSP-provided data like symbols and references, as demonstrated in the example GIF and features list.

Comprehensive Navigation Features

Supports a wide array of LSP commands including definitions, diagnostics, code actions, and call hierarchies, covering most code exploration needs directly from Neovim.

High Customizability

Offers extensive configuration options for fzf layout, colors, and previews, with settings that can inherit from fzf.vim or be overridden with plugin-specific equivalents.

Flexible Integration Modes

Provides both synchronous command wrappers and asynchronous LSP handlers, allowing users to choose between immediate feedback or non-blocking calls, as detailed in the handlers section.

Cons

External Dependency Overhead

Requires manual installation of fzf and bat for full functionality, adding setup steps beyond the plugin itself and potentially complicating cross-system compatibility.

Inconsistent LSP Support

As noted in the README, some LSP methods like textDocument/declaration are often not implemented by language servers, making commands like :Declarations unreliable across different languages.

Configuration Quirks

Settings like g:fzf_lsp_pretty must use specific vimscript values (v:true or v:false) instead of standard booleans, which can be confusing and error-prone for users.

Frequently Asked Questions

Quick Stats

Stars238
Forks15
Contributors0
Open Issues10
Last commit2 years ago
CreatedSince 2020

Tags

#vim#neovim-plugin#lsp-client#fzf#neovim-lua#fuzzy-search#code-navigation#neovim#lua#nvim#symbol-search#lsp#diagnostics

Built With

N
Neovim
f
fzf
L
Lua

Included in

Neovim20.6k
Auto-fetched 7 hours ago

Related Projects

nvim-lspconfignvim-lspconfig

Quickstart configs for Nvim LSP

Stars13,934
Forks2,491
Last commit14 hours ago
lspsaga.nvimlspsaga.nvim

improve neovim lsp experience

Stars3,804
Forks307
Last commit1 month ago
none-ls.nvimnone-ls.nvim

null-ls.nvim reloaded / Use Neovim as a language server to inject LSP diagnostics, code actions, and more via Lua.

Stars3,262
Forks121
Last commit28 days ago
rustaceanvimrustaceanvim

🦀 Supercharge your Rust experience in Neovim! A heavily modified fork of rust-tools.nvim

Stars3,109
Forks135
Last commit11 hours 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