awesome-repositories.com
Blog
MCP
awesome-repositories.com

Discover the best open-source repositories with AI-powered search.

ExploreCurated searchesOpen-source alternativesSelf-hosted softwareBlogSitemap
ProjectMCP serverAboutHow we rankPress
LegalPrivacyTerms
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com

Terminal Fuzzy Finder Tools

Ranking updated Jun 30, 2026

For a fuzzy finder for filtering lists in the terminal, the first results are skim-rs/skim (Skim is a cross-platform interactive terminal fuzzy finder with advanced query syntax fuzzy, exact, inverse, prefix, suffix, AND/OR, a preview pane, multi-select, and pipe integration, directly matching the need for fuzzy filtering and selection over lists), junegunn/fzf (fzf is the premier terminal fuzzy finder, supporting fuzzy matching, stdin pipe integration, customizable keybindings, a preview window, multiple selection, and rich search syntax — exactly what this search is after) and peco/peco. lotabout/skim and alexpasmantier/television round out the shortlist. Compare the match explanations and check the project documentation against your requirements.

Command-line utilities that provide interactive filtering and selection for lists within your terminal environment.

Terminal Fuzzy Finder Tools

Find the best repos with AI.We'll search the best matching repositories with AI.
  • skim-rs/skimskim-rs avatar

    skim-rs/skim

    6,592View on GitHub↗

    Skim is a cross-platform interactive fuzzy finder that runs as a terminal application, a Rust library, a Vim and Neovim plugin, and a shell integration tool. It provides real-time filtering and selection from lists of items, supporting keyboard and mouse navigation, live preview panes, and multi-select functionality across Linux, macOS, and Windows. The tool distinguishes itself through a composable query expression tree that supports fuzzy, exact, inverse, prefix, suffix, and logical AND/OR operators, combined with a Smith-Waterman scoring engine that penalizes typos and gaps for natural rel

    Skim is a cross-platform interactive terminal fuzzy finder with advanced query syntax (fuzzy, exact, inverse, prefix, suffix, AND/OR), a preview pane, multi-select, and pipe integration, directly matching the need for fuzzy filtering and selection over lists.

    RustMultiple SelectionsPreview PanesShell Key Bindings
    View on GitHub↗6,592
  • junegunn/fzfjunegunn avatar

    junegunn/fzf

    81,017View on GitHub↗

    This project is a general-purpose command-line filter that provides an interactive interface for processing standard input streams. It enables real-time fuzzy searching, data selection, and transformation, allowing users to navigate complex information or file systems directly within their terminal. By utilizing a pipe-oriented architecture, it integrates into existing shell pipelines and workflows to facilitate efficient data exploration. What distinguishes this tool is its highly extensible, event-driven design that allows for deep integration with external processes. It supports asynchrono

    fzf is the premier terminal fuzzy finder, supporting fuzzy matching, stdin pipe integration, customizable keybindings, a preview window, multiple selection, and rich search syntax — exactly what this search is after.

    GoPreview PanesShell Key BindingsMatching Algorithms
    View on GitHub↗81,017
  • peco/pecopeco avatar

    peco/peco

    7,892View on GitHub↗

    Peco is an interactive text filter and fuzzy finder for the terminal. It serves as a terminal user interface selection tool that filters standard input in real-time using fuzzy matching and regular expressions. The tool preserves and renders ANSI color escape sequences from piped input streams while performing matching logic on plain-text versions. It supports multi-stage filtering, allowing users to freeze result sets to create a new base for subsequent refinements. Capability areas include advanced search filtering with negative matching, multi-item selection, and the ability to pipe selec

    Peco is an interactive terminal fuzzy finder that filters standard input in real-time using fuzzy matching and regular expressions, with support for multi-item selection and pipe integration — exactly the kind of tool this search is after, though it may not include a preview window or customizable keybindings.

    GoMultiple SelectionsFuzzy Matching
    View on GitHub↗7,892
  • lotabout/skimlotabout avatar

    lotabout/skim

    6,850View on GitHub↗

    Skim is an interactive text filter and terminal selection tool written in Rust. It functions as a command line interface utility that processes input streams to isolate specific entries through real-time user queries and sorting. The tool differentiates itself through ANSI compatibility, allowing it to parse color codes and maintain text formatting during the search process. It supports multiple matching strategies, including configurable fuzzy matching algorithms and regular expression integration. The application covers a broad range of capabilities including field-specific filtering, resu

    Skim is a Rust-based terminal fuzzy finder that accepts piped input and provides real-time interactive filtering with configurable matching strategies and ANSI support, fitting your search for a terminal tool to quickly narrow down lists.

    RustFuzzy Matching
    View on GitHub↗6,850
  • alexpasmantier/televisionalexpasmantier avatar

    alexpasmantier/television

    4,244View on GitHub↗

    Television is a terminal-based search launcher that provides real-time fuzzy matching across multiple data sources, including files, git repositories, environment variables, shell history, and custom user-defined channels. It presents a multi-panel terminal interface where search results, previews, and input are displayed simultaneously, with a frecency-based ranking engine that combines match quality with the frequency and recency of past selections to surface the most relevant entries. The project is built around a declarative, TOML-driven architecture where search channels, previews, and a

    Television is a terminal-based fuzzy finder that provides real-time matching across files, shell history, and custom channels with a preview panel, customizable keybindings, and multi-select — directly fitting the search for a tool to quickly filter and select items from lists.

    RustTOML-Configured Search LaunchersChained Selection ActionsChannel-Specific Previews
    View on GitHub↗4,244
  • joelthelion/autojumpjoelthelion avatar

    joelthelion/autojump

    16,928View on GitHub↗

    Autojump is a command line productivity tool and shell extension that automates directory navigation. It functions as a shell navigation wrapper that tracks folder access patterns to allow jumping to directories using partial names. The tool utilizes a directory history database and a fuzzy path resolver to match incomplete directory strings to full paths. It weights and ranks these paths based on recency and frequency of use to predict the most likely destination. Beyond shell navigation, the utility includes a terminal file explorer launcher capable of opening the native operating system f

    Autojump is a directory navigation tool that uses fuzzy matching to quickly jump to frequently visited directories, but it is not a general-purpose terminal fuzzy finder that filters arbitrary lists via stdin/stdout—it focuses solely on directory paths and lacks the pipe integration and interactive search features this search requires.

    PythonFuzzy Matching Utilities
    View on GitHub↗16,928
  • rapidfuzz/rapidfuzzrapidfuzz avatar

    rapidfuzz/RapidFuzz

    3,731View on GitHub↗

    RapidFuzz is a C++ accelerated Python library providing high-performance string comparison and similarity calculations. It functions as a fuzzy string matching toolkit used to quantify the difference between text sequences through Levenshtein distance and other edit distance metrics. The library focuses on scalable approximate text matching, enabling the identification and ranking of similar strings within large datasets. It provides specialized utilities for finding the best matches in a collection and generating pairwise similarity matrices. The project covers a broad surface of text proce

    RapidFuzz is a Python library for fuzzy string matching and similarity scoring, but it is not a terminal-based interactive tool—it lacks the stdin/stdout pipe integration, customizable keybindings, preview window, and multiple selection mode that define a terminal fuzzy finder.

    PythonFuzzy Matching
    View on GitHub↗3,731
  • nvchad/nvchadN

    NvChad/NvChad

    28,287View on GitHub↗

    NvChad is a Neovim configuration framework that provides a pre-configured base setup with a refined interface and custom defaults. It serves as a modular system for managing the editor environment through a curated plugin suite and configuration files written in Lua. The framework features a lazy-loading plugin manager designed to minimize startup time and improve responsiveness by initializing components on demand. It also includes a built-in theme engine with a dedicated picker for switching between different visual styles and aesthetic configurations. The project covers a broad range of d

    NvChad is a Neovim configuration framework that can include fuzzy-finding plugins, but it is not itself a standalone terminal fuzzy finder tool that processes stdin/stdout lists.

    LuaFuzzy Matching Utilities
    View on GitHub↗28,287
  • olivernn/lunr.jsolivernn avatar

    olivernn/lunr.js

    9,203View on GitHub↗

    lunr.js is a JavaScript full-text search library and client-side search engine. It creates in-memory search indexes for fast keyword retrieval and ranked document matching within browser or Node.js environments. The library utilizes a JSON serializable search index, allowing the search structure to be converted to and from JSON for storage and distribution of pre-built search data. This enables search functionality for static websites by indexing content into portable files. The system supports advanced querying capabilities, including fuzzy text matching to account for typos, field-scoped i

    lunr.js is a JavaScript full-text search library for in-memory indexing, not a terminal-based interactive tool — it lacks the command-line piping, preview, and keybinding features this search is targeting.

    JavaScriptFuzzy MatchingMatching Algorithms
    View on GitHub↗9,203
  • clvv/fasdclvv avatar

    clvv/fasd

    5,915View on GitHub↗

    fasd is a frecency-based path navigator and POSIX shell productivity tool designed to accelerate navigation between files and directories. It functions as a command-line wrapper that resolves shorthand queries into absolute paths by ranking results based on how often and how recently they have been accessed. The utility uses fuzzy string matching and case-insensitive lookups to resolve partial directory and file names. It can also import access history from external backends, such as text editors and desktop environments, to refine the accuracy of its ranking database. The tool provides shel

    fasd is a frecency-based path jumper that uses fuzzy matching to resolve directory and file names, but it is not a general-purpose terminal fuzzy finder that filters arbitrary lists piped from stdin and lacks features like a preview window or multiple selection mode.

    ShellFuzzy Matching Utilities
    View on GitHub↗5,915
  • amix/vimrcamix avatar

    amix/vimrc

    31,774View on GitHub↗

    This project is a Vim configuration framework and development environment that transforms the basic text editor into a full-featured integrated development environment. It provides a curated set of settings and a comprehensive plugin suite to support professional software development workflows. The environment includes specialized tools for polyglot code execution and project navigation, allowing users to run source files in multiple languages via single keystrokes and locate files using fuzzy searching. It also integrates version control workflows, enabling the management of Git operations a

    This repository is a Vim configuration framework that includes fuzzy searching as one of its features, but it is not itself a standalone terminal fuzzy finder tool — it is a set of editor settings and plugins.

    Vim ScriptFuzzy Matching Utilities
    View on GitHub↗31,774
  • qvacua/vimrqvacua avatar

    qvacua/vimr

    6,971View on GitHub↗

    VimR is a native macOS graphical user interface for the Neovim editor. It wraps the Neovim binary within a Swift and AppKit application to provide system-level window management and OS integration. The application includes a project workspace manager for organizing files and windows into distinct contexts, a graphical file browser for navigating directory structures, and a fuzzy file searcher for locating files using approximate string matching. It also features a markdown and HTML previewer with synchronized side-by-side scrolling.

    VimR is a native macOS GUI for Neovim that includes a fuzzy file searcher, but it is not a dedicated terminal-based fuzzy finder tool—it is a full graphical editor, lacking the stdin/stdout pipe integration and terminal-centric interaction expected for this category.

    SwiftFuzzy Matching Utilities
    View on GitHub↗6,971
Compare the top 10 at a glance
RepositoryStarsLanguageLicenseLast push
skim-rs/skim6.6KRustmitFeb 20, 2026
junegunn/fzf81KGoMITJun 15, 2026
peco/peco
7.9K
Go
MIT
Jun 6, 2026
lotabout/skim6.9KRustMITJun 17, 2026
alexpasmantier/television4.2KRustmitFeb 18, 2026
joelthelion/autojump16.9KPythonNOASSERTIONFeb 27, 2025
rapidfuzz/rapidfuzz3.7KPythonmitJan 25, 2026
nvchad/nvchad28.3KLuaGPL-3.0Apr 13, 2026
olivernn/lunr.js9.2KJavaScriptMITJul 31, 2024
clvv/fasd5.9KShellMITJun 4, 2020

Related searches

  • a keyboard driven file manager for terminal
  • a terminal UI library for building TUIs in Rust
  • a terminal UI for staging and committing with git
  • Fuzzy search index
  • a directory jumper that learns your most-used folders
  • a syntax-highlighting pager for viewing code in the terminal
  • an instant search engine for my site
  • a hands-on project for learning systems programming