nvim-telescope/telescope-fzf-native.nvim logo

nvim-telescope/telescope-fzf-native.nvim

Free

FZF sorter for telescope written in c

FreeFree tier
Type
Open Source

About nvim-telescope/telescope-fzf-native.nvim

telescope-fzf-native.nvim is a C port of the fzf fuzzy-finding algorithm, designed to serve as a high-performance sorter for the telescope.nvim plugin in Neovim. It implements the core fzf matching syntax including fuzzy, exact, prefix, suffix, and inverse matches, as well as OR operators (|), providing a powerful and familiar query language for file and text searching. The extension is built in C for speed and integrates seamlessly with telescope's configuration system, allowing users to enable or disable fuzzy matching, override default sorters, and set case sensitivity modes. Installation requires building the native code via CMake or Make, and no pre-compiled binaries are provided.

Key Features

C port of fzf for high-performance fuzzy matching
Supports fzf token syntax: fuzzy, exact, prefix, suffix, inverse exact, inverse prefix, inverse suffix
OR operator (|) for combining multiple match patterns
Seamless integration with telescope.nvim via extension loading
Configurable fuzzy, override_generic_sorter, override_file_sorter, and case_mode settings (smart_case, ignore_case, respect_case)

Pros & Cons

Pros
  • Native C implementation provides fast sorting and scoring
  • Supports complex fzf syntax including OR operators
  • Easy to install via cmake or make with popular plugin managers
  • Lightweight and focused integration with telescope
  • Offers multiple case sensitivity modes
Cons
  • Requires compilation (C compiler and build tools) – no pre-built binaries
  • Only works within telescope.nvim, not a standalone sorter
  • Limited to the features implemented in the fzf algorithm (no full fzf fuzzy finder capabilities like preview, layout)

Best For

File and text fuzzy finding in NeovimAdvanced query syntax for precise filteringFaster alternative to fzy-based sorters in telescopeCustomizing telescope search behavior with fzf-style matching

FAQ

How does telescope-fzf-native compare to fzy?
According to the README, fzf-native supports a richer syntax (exact, prefix, suffix, inverse, OR) which is an advantage over the simpler fzy algorithm.
How to install telescope-fzf-native?
Install using a plugin manager (vim-plug, packer.nvim, lazy.nvim) with a build step: either 'make' (requires gcc or clang) or 'cmake -S. -Bbuild -DCMAKE_BUILD_TYPE=Release && cmake --build build --config Release --target install' (requires CMake and a C compiler).
Do I need to configure it after installation?
Yes, you need to call require('telescope').load_extension('fzf') after telescope setup. You can optionally set extension options like fuzzy, override_generic_sorter, override_file_sorter, and case_mode.