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
Back to kien/ctrlp.vim

Open-source alternatives to Ctrlp.vim

30 open-source projects similar to kien/ctrlp.vim, ranked by how many features they have in common. Compare stars, activity and what each one does to find the best Ctrlp.vim alternative.

  • lucaong/minisearchlucaong avatar

    lucaong/minisearch

    5,804View on GitHub↗
    TypeScriptautocompleteautosuggestionedge-computing
    View on GitHub↗5,804
  • nvim-mini/mini.nvimnvim-mini avatar

    nvim-mini/mini.nvim

    9,325View on GitHub↗

    mini.nvim is a comprehensive library of independent modules designed to extend Neovim with a wide array of navigation, user interface, and text manipulation tools. It serves as a modular plugin collection, a UI toolkit for creating custom statuslines and notifications, and a package manager for installing and pinning external plugins from Git. The project provides a specialized fuzzy picker framework for filtering files and symbols, an LSP completion engine with interactive snippet expansion, and a dedicated plugin test framework that uses headless editor instances and remote procedure calls

    Lualuamini-nvimneovim
    View on GitHub↗9,325
  • liuchengxu/vim-clapliuchengxu avatar

    liuchengxu/vim-clap

    2,139View on GitHub↗

    Vim-clap is a high-performance fuzzy selection interface and command palette designed for Vim and NeoVim. It functions as an extensible plugin that enables rapid navigation of files, buffers, and project resources by offloading heavy search and filtering computations to an external background process. The project distinguishes itself through a pluggable provider architecture that allows developers to define custom search sources using external scripts or binaries. By decoupling the selection interface from the underlying fuzzy matching logic, it supports both built-in algorithms and high-perf

    Rustfloating-windowfuzzy-findernvim
    View on GitHub↗2,139
  • tagspaces/tagspacestagspaces avatar

    tagspaces/tagspaces

    4,935View on GitHub↗

    TagSpaces is an offline-first file tagging and organization platform that lets you manage local files with portable metadata stored directly in filenames or sidecar JSON files, eliminating the need for a central database. It functions as a full-text file search engine, a Kanban board file organizer, a local AI file assistant, an S3-compatible cloud file manager, and a web clipper and bookmark manager, all within a single application. The project distinguishes itself through a local-first architecture where all file operations, indexing, and AI processing run entirely on the device, with cloud

    TypeScriptelectronjavascriptnote-taking
    View on GitHub↗4,935

AI search

Explore more awesome repositories

Describe what you need in plain English — the AI ranks thousands of curated open-source projects by relevance.

Find more with AI search
  • sinelaw/freshsinelaw avatar

    sinelaw/fresh

    5,914View on GitHub↗

    Zed is a terminal-based code editor built in Rust that provides a full-featured editing experience with familiar keybindings, mouse support, and multiple cursors. It runs entirely in the terminal while offering capabilities typically found in graphical editors, including split panes, a command palette, and integrated language server protocol support for real-time diagnostics, completions, go-to-definition, and code actions across multiple languages. The editor distinguishes itself through a plugin system that runs sandboxed TypeScript plugins in a QuickJS runtime, with an asynchronous bridge

    Rustideterminal-basedtext-editor
    View on GitHub↗5,914
  • textualize/toolongTextualize avatar

    Textualize/toolong

    3,921View on GitHub↗

    toolong is a terminal log viewer and TUI log manager designed for monitoring live log streams and navigating large log files. It functions as a log aggregator and JSONL formatter, capable of merging multiple log files into a single chronological view by automatically detecting timestamps. The application supports the visualization of structured data by pretty printing JSONL files and applying syntax highlighting to common web server log patterns. It handles large-scale data efficiently through virtual-sized scrollable views, allowing users to open compressed logs or files of any size without

    Pythonjsonlrichterminal
    View on GitHub↗3,921
  • 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

    Rustfuzzyfinderrustskim
    View on GitHub↗6,592
  • roversx/launchnextRoversX avatar

    RoversX/LaunchNext

    2,775View on GitHub↗
    Swift
    View on GitHub↗2,775
  • carlhuda/januscarlhuda avatar

    carlhuda/janus

    7,843View on GitHub↗

    Janus is a Vim distribution and curated plugin configuration that transforms the editor into a full-featured development environment. It functions as a Vim-based IDE, integrating a collection of third-party extensions to provide an integrated development experience. The system features a fuzzy-search project navigator for locating files, buffers, and symbols across a codebase. It also includes a Git-integrated workflow that provides real-time diff visualization in the sign column and allows users to stage hunks and manage version control directly within the editor. The environment covers bro

    Vim script
    View on GitHub↗7,843
  • bbatsov/projectilebbatsov avatar

    bbatsov/projectile

    4,210View on GitHub↗

    Projectile is an Emacs project management library and workflow toolkit designed for discovering project roots, indexing files, and navigating source code. It functions as a project file indexer and project-wide search tool, utilizing version control markers to identify project boundaries and track uncommitted changes. The system distinguishes itself through a pluggable architecture for indexing backends and search interfaces. It supports asynchronous indexing to prevent interface freezing and utilizes persistent caching to accelerate file lookups. Navigation is further enhanced by the ability

    Emacs Lispemacsemacs-lispproject-management
    View on GitHub↗4,210
  • 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

    Go
    View on GitHub↗7,892
  • kentcdodds/match-sorterkentcdodds avatar

    kentcdodds/match-sorter

    4,099View on GitHub↗

    match-sorter is a JavaScript string matching and array filtering utility designed to rank and sort lists based on search string relevance. It functions as a deterministic best-match sorting library and fuzzy search engine for filtering object arrays. The tool prioritizes results using weighted match heuristics that favor exact matches, acronyms, and string containment. It employs a deterministic ranking system to ensure consistent ordering and supports diacritic-insensitive normalization to match characters regardless of accents. The library covers match criteria specification via key-path p

    TypeScript
    View on GitHub↗4,099
  • vakata/jstreevakata avatar

    vakata/jstree

    5,186View on GitHub↗

    jstree is a jQuery tree view plugin used to render interactive hierarchical data structures. It functions as a hierarchical data visualizer and manager, providing tools to display nested relationships through tree layouts. The project features a drag-and-drop tree manager for restructuring hierarchies and an AJAX tree loader for fetching nodes or HTML fragments from remote servers. It includes a tri-state checkbox selector to manage selection states across parent and child branches. The plugin supports various data modeling approaches, including child arrays, parent-id adjacency lists, and t

    JavaScriptjquery-pluginjstree
    View on GitHub↗5,186
  • lancedb/lancedblancedb avatar

    lancedb/lancedb

    9,031View on GitHub↗

    LanceDB is a vector database and columnar data store designed to function as a versioned dataset manager and vector search engine. It serves as a high-performance backend for indexing and retrieving high-dimensional embeddings, providing the foundation for machine learning data pipelines. The system distinguishes itself through a combination of cloud-native object storage and immutable version tracking, allowing for data time-travel and reproducible AI experiments. It integrates hybrid search capabilities, merging dense vector similarity with BM25 full-text search and SQL-like scalar filters

    HTMLapproximate-nearest-neighbor-searchimage-searchnearest-neighbor-search
    View on GitHub↗9,031
  • nvim-telescope/telescope.nvimnvim-telescope avatar

    nvim-telescope/telescope.nvim

    19,083View on GitHub↗

    Telescope is a fuzzy search interface for the Neovim text editor, designed to provide rapid access to files, buffers, and project-wide data. It functions as a keyboard-driven command palette that allows users to locate and navigate complex directory structures and codebase content through real-time filtering. The system is built on a modular architecture that utilizes a pluggable interface to fetch data from diverse sources, including file systems, version control repositories, and language server protocols. By separating input collection from data retrieval, it maintains a decoupled state ma

    Lualuaneovimneovim-plugin
    View on GitHub↗19,083
  • dbt-labs/dbt-coredbt-labs avatar

    dbt-labs/dbt-core

    13,051View on GitHub↗

    dbt-core is a command-line framework for transforming data within a warehouse using modular SQL and version control. It functions as a data transformation engine that enables users to define data structures and business logic through declarative configuration files, which the system then compiles into executable code. By managing complex data dependencies through a directed acyclic graph, it ensures that transformation tasks execute in the correct order while maintaining a manifest-driven state to track lineage and execution history. The project distinguishes itself through an adapter-based d

    Rustanalyticsbusiness-intelligencedata-modeling
    View on GitHub↗13,051
  • 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

    Pythoncpplevenshteinlevenshtein-distance
    View on GitHub↗3,731
  • 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

    Rust
    View on GitHub↗6,850
  • maxbachmann/rapidfuzzmaxbachmann avatar

    maxbachmann/rapidfuzz

    3,958View on GitHub↗

    This is a Python fuzzy string matching library used for calculating string similarity and edit distances. It serves as a collection of string distance algorithms, a sequence alignment tool, and an approximate string search engine to measure text similarity. The library provides a wide array of metrics to quantify string closeness, including Levenshtein, Jaro-Winkler, Hamming, and Damerau-Levenshtein distances. It supports similarity analysis through longest common subsequence calculations, token-based comparisons, and weighted scoring to account for differences in content and word order. Bey

    Python
    View on GitHub↗3,958
  • krisk/fusekrisk avatar

    krisk/Fuse

    20,347View on GitHub↗

    Fuse is a JavaScript fuzzy search library and client-side search engine designed to index and query JSON data. It provides utilities for approximate string matching and ranking results by relevance, allowing applications to perform fast filtering and searching of datasets without a dedicated backend. The library distinguishes itself through a token-based search implementation that supports word-order independence and relevance weighting. It utilizes edit-distance scoring to handle typos and insertions, and employs a system of field weighting to prioritize matches in high-value data keys. The

    JavaScriptbitapjavascriptlightweight-fuzzy-search
    View on GitHub↗20,347
  • 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

    Gobashclifish
    View on GitHub↗81,017
  • jetbrains/ideavimJetBrains avatar

    JetBrains/ideavim

    10,211View on GitHub↗

    IdeaVim – A Vim engine for JetBrains IDEs

    Kotlinideavimintellijintellij-platform
    View on GitHub↗10,211
  • javve/list.jsjavve avatar

    javve/list.js

    11,222View on GitHub↗

    list.js is a JavaScript search and sort library used to add real-time filtering, sorting, and pagination to HTML lists and tables without backend dependencies. It functions as a DOM data indexer and template-driven HTML renderer, allowing developers to manage how data is displayed and discovered on the client side. The library distinguishes itself through a fuzzy string matching engine that handles approximate matches and typos, and a DOM data indexer that extracts values directly from HTML data attributes to build a searchable internal index. It uses a template-driven rendering system to gen

    JavaScripteasy-to-usefiltersflexibility
    View on GitHub↗11,222
  • nvim-neo-tree/neo-tree.nvimnvim-neo-tree avatar

    nvim-neo-tree/neo-tree.nvim

    5,247View on GitHub↗

    Neo-tree is an extensible UI component for Neovim that functions as a file explorer, project resource manager, and git status browser. It provides a tree-based interface for navigating filesystems, managing open buffers, and organizing document symbols within a side panel. The project is designed as a customizable framework that allows for the integration of external data sources and the implementation of user-defined event handlers. It supports custom tree visuals and component rendering, enabling the display of metadata, custom icons, and third-party plugin data within the tree view. Capab

    Luafile-explorerluaneovim
    View on GitHub↗5,247
  • 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

    JavaScript
    View on GitHub↗9,203
  • babyman/quick-tabs-chrome-extensionbabyman avatar

    babyman/quick-tabs-chrome-extension

    1,020View on GitHub↗

    Quick Tabs Chrome Extension is a browser tab manager extension and popup navigation interface inspired by Integrated Development Environment quick-open dialogs. It operates as an isolated popup script communicating with background processes to query and control browser state, displaying all open browser tabs across windows in recently used order for rapid switching. The extension provides fuzzy search filtering to process user queries against a combined index of tabs, bookmarks, and history using string distance algorithms. It organizes flat tab lists into nested trees representing parent bro

    JavaScript
    View on GitHub↗1,020
  • saghen/blink.cmpsaghen avatar

    saghen/blink.cmp

    5,951View on GitHub↗
    Luaneovimneovim-lua-pluginneovim-plugin
    View on GitHub↗5,951
  • lnx-search/lnxlnx-search avatar

    lnx-search/lnx

    1,443View on GitHub↗

    Lnx is a high-performance search engine and indexing database designed for managing large datasets. It provides a scalable infrastructure for full-text retrieval, allowing applications to process and query structured data with consistent responsiveness. The platform distinguishes itself through a schema-driven approach to data ingestion, which enforces structured field definitions to optimize storage and query precision. It incorporates advanced search capabilities, including fuzzy matching, spell correction, and similarity-based content recommendations, to ensure accurate results even with i

    Rustdatabaseinstantrust
    View on GitHub↗1,443
  • jeromeetienne/ar.jsjeromeetienne avatar

    jeromeetienne/AR.js

    15,801View on GitHub↗

    AR.js is a web-based augmented reality framework used to create immersive experiences directly in a browser using WebGL and WebRTC. It provides a cross-platform runtime that executes on mobile devices and head-mounted displays without requiring a dedicated application installation. The framework includes a marker-based engine for detecting physical patterns or barcodes to anchor digital overlays, a location-based tool for positioning entities via GPS coordinates, and a face tracking library for anchoring content to human facial features. It supports multi-marker simultaneous tracking, custom

    HTMLa-framethree-jswebar
    View on GitHub↗15,801
  • hrsh7th/nvim-cmphrsh7th avatar

    hrsh7th/nvim-cmp

    9,455View on GitHub↗

    This project is a Lua-based completion engine for Neovim that aggregates real-time text suggestions from multiple data sources into a single interface. It functions as a modular framework for extending the editor with custom completion logic, acting as both a fuzzy text suggestion tool and an interface for the Language Server Protocol. The engine utilizes a source-agnostic provider interface to standardize how disparate data sources feed candidates into a central logic engine. It employs asynchronous candidate fetching and a non-blocking architecture to retrieve suggestions from external serv

    Lua
    View on GitHub↗9,455