# liuchengxu/vim-clap

**Attribution required: if you use, quote, or summarise this content, you must credit and link back to [awesome-repositories.com](https://awesome-repositories.com/repository/liuchengxu-vim-clap).**

_How this analysis was created: the description and tags below were written by an AI model that read this project's README and public documentation pages; stars, license and language come straight from the GitHub API. The model does not read the source code._

2,139 stars · 78 forks · Rust · MIT

## Links

- GitHub: https://github.com/liuchengxu/vim-clap
- Homepage: https://liuchengxu.github.io/vim-clap/
- awesome-repositories: https://awesome-repositories.com/repository/liuchengxu-vim-clap.md

## Topics

`floating-window` `fuzzy-finder` `nvim` `popup` `rust` `vim` `vim-clap`

## Description

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-performance external tools, ensuring the editor remains responsive even when processing large datasets.

The interface includes features for managing codebase resources, such as navigating diagnostics, executing custom tasks on selected items, and previewing file contents before opening them. It also maintains stateful history and provides configurable search behaviors, including project root detection and filtering options, to support diverse development workflows.

## Tags

### Development Tools & Productivity

- [Neovim Plugins](https://awesome-repositories.com/f/development-tools-productivity/neovim-plugins.md) — Provides an extensible editor plugin for NeoVim that offloads heavy search computation to external processes.
- [Command Palettes](https://awesome-repositories.com/f/development-tools-productivity/command-execution-interfaces/command-palettes.md) — Functions as a searchable command and resource picker with support for custom providers and real-time previews.
- [Fuzzy-Search Project Navigators](https://awesome-repositories.com/f/development-tools-productivity/fuzzy-search-project-navigators.md) — Provides high-performance fuzzy navigation for files, buffers, and project resources.
- [Workspace Action Execution](https://awesome-repositories.com/f/development-tools-productivity/action-execution-frameworks/workspace-action-execution.md) — Provides an interface for executing custom actions on selected items, such as navigating diagnostics or running project tasks. ([source](https://github.com/liuchengxu/vim-clap/blob/master/CHANGELOG.md))
- [Editor Preview Windows](https://awesome-repositories.com/f/development-tools-productivity/editor-preview-windows.md) — Provides a side-by-side preview window to inspect file contents directly within the editor during the selection process. ([source](https://github.com/liuchengxu/vim-clap/blob/master/CHANGELOG.md))
- [Fuzzy Search Interfaces](https://awesome-repositories.com/f/development-tools-productivity/fuzzy-search-interfaces.md) — Decouples the selection interface from the underlying fuzzy matching logic to support both built-in and external search tools.
- [Vim Plugins](https://awesome-repositories.com/f/development-tools-productivity/vim-plugins.md) — Supports extending the editor by creating custom search providers and integration scripts.
- [Editor Optimizations](https://awesome-repositories.com/f/development-tools-productivity/vim-plugins/editor-optimizations.md) — Optimizes development workflows through search history, project root detection, and file content previews.

### Part of an Awesome List

- [Fuzzy Finders](https://awesome-repositories.com/f/awesome-lists/devtools/fuzzy-finders.md) — Acts as a high-performance fuzzy selection interface for rapid navigation of project resources.

### Data & Databases

- [Fuzzy Search Engines](https://awesome-repositories.com/f/data-databases/search-indexing-technologies/search-indexing/search-information-retrieval/matching-ranking-logic/fuzzy-search-engines.md) — Utilizes a high-performance backend for fuzzy selection to maintain responsiveness during large-scale searches. ([source](https://liuchengxu.github.io/vim-clap))
- [Search Result Filtering](https://awesome-repositories.com/f/data-databases/search-result-filtering.md) — Filters search results using fuzzy matching algorithms to narrow down large lists to relevant matches. ([source](https://github.com/liuchengxu/vim-clap/blob/master/CHANGELOG.md))

### Programming Languages & Runtimes

- [Background Process Execution](https://awesome-repositories.com/f/programming-languages-runtimes/language-features-paradigms/concurrency-models/asynchronous-processing/asynchronous-processing/background-process-execution.md) — Offloads heavy search and filtering computations to external background processes to maintain editor responsiveness.

### Artificial Intelligence & ML

- [Search Source Extensions](https://awesome-repositories.com/f/artificial-intelligence-ml/web-automation-extensions/capability-extensions/search-source-extensions.md) — Supports extending the search interface by adding custom search sources via scripts or binaries. ([source](https://liuchengxu.github.io/vim-clap))

### Networking & Communication

- [Asynchronous Message Passing](https://awesome-repositories.com/f/networking-communication/communication-protocols-architectures/inter-process-communication/asynchronous-message-passing.md) — Uses non-blocking pipes to communicate between the editor and background processes for smooth, responsive data flow.

### Software Engineering & Architecture

- [Codebase Navigation Tools](https://awesome-repositories.com/f/software-engineering-architecture/codebase-navigation-tools.md) — Enables bulk operations on project items, including diagnostic navigation and custom task execution, directly from the search interface.
- [Pluggable Data Source Architectures](https://awesome-repositories.com/f/software-engineering-architecture/pluggable-data-source-architectures.md) — Provides a pluggable architecture for defining custom search sources via external scripts or binaries.

### User Interface & Experience

- [Windowed Rendering](https://awesome-repositories.com/f/user-interface-experience/virtual-rendering/rendering-optimizations/windowed-rendering.md) — Renders only the visible subset of search results in the editor buffer to ensure high performance with large datasets.
