Scripts2026年5月14日·1 分钟阅读

telescope.nvim — Fuzzy Finder and Picker Framework for Neovim

A highly extensible fuzzy finder for Neovim that provides a unified interface for searching files, grep results, LSP symbols, Git history, and any custom list.

Agent 就绪

这个资产可以被 Agent 直接读取和安装

TokRepo 同时提供通用 CLI 命令、安装契约、metadata JSON、按适配器生成的安装计划和原始内容链接,方便 Agent 判断适配度、风险和下一步动作。

Needs Confirmation · 66/100策略:需确认
Agent 入口
任意 MCP/CLI Agent
类型
Skill
安装
Single
信任
信任等级:Established
入口
telescope.nvim Overview
通用 CLI 安装命令
npx tokrepo install fdc801b9-4fb0-11f1-9bc6-00163e2b0d79

Introduction

telescope.nvim is a fuzzy finder framework for Neovim written in Lua. It provides built-in pickers for files, grep, buffers, LSP symbols, and Git objects, and exposes an API for creating custom pickers that integrate with any data source.

What telescope.nvim Does

  • Searches files, directories, and buffer contents with fuzzy matching
  • Runs live grep across a project using ripgrep as a backend
  • Browses LSP references, definitions, symbols, and diagnostics
  • Navigates Git commits, branches, stashes, and changed files
  • Supports previewing files, images, and custom content in a floating window

Architecture Overview

telescope.nvim consists of three components: pickers (what to search), sorters (how to rank results), and previewers (how to display selections). Each picker spawns an asynchronous job (often ripgrep or fd) and streams results into a floating window. A sorter like fzf-native scores results in real time. Extensions can register new pickers that plug into the same UI and keymap infrastructure.

Self-Hosting & Configuration

  • Install via any Neovim plugin manager with plenary.nvim as a dependency
  • Optionally install telescope-fzf-native for faster sorting
  • Configure default pickers, themes, and mappings in the setup() call
  • Bind keys to built-in pickers like find_files, live_grep, buffers
  • Requires ripgrep and fd for optimal file search performance

Key Features

  • Extensible picker API for building custom search interfaces
  • Real-time preview with syntax highlighting for matched files
  • Themes (dropdown, cursor, ivy) change layout without custom code
  • telescope-fzf-native extension provides compiled C sorter for speed
  • 100+ community extensions covering everything from Docker to DAP

Comparison with Similar Tools

  • fzf.vim — wraps the fzf binary; telescope is Lua-native with richer preview and extension support
  • ctrlp.vim — legacy Vimscript fuzzy finder; telescope is faster and more extensible
  • mini.pick — minimal single-file picker; telescope has a larger ecosystem of pickers and extensions
  • fzf-lua — fzf integration for Neovim; telescope uses its own sorter pipeline and API
  • Snacks.picker — newer picker framework; telescope has a more mature extension ecosystem

FAQ

Q: Why is telescope slow on large projects? A: Install telescope-fzf-native for compiled sorting, and ensure ripgrep and fd are on your PATH.

Q: Can I use telescope without a Nerd Font? A: Yes. Disable icons in the configuration or use a text-only theme.

Q: How do I create a custom picker? A: Use the pickers.new() API with a custom finder, sorter, and optional previewer.

Q: Does telescope work with Neovim 0.9? A: Yes. telescope.nvim supports Neovim 0.9 and later.

Sources

讨论

登录后参与讨论。
还没有评论,来写第一条吧。

相关资产