fzf:把长列表变成可搜索的选择菜单

在终端里筛选候选文件、历史记录或其他文本行。先理解选择结果,再接入快捷键和命令绑定。

创作者:Junegunn Choi and fzf contributors0.74.52026年11月2日MIT源代码仓库
前往发布方获取
macOSLinuxWindows

使用要求

macOS、Linux或Windows上的兼容终端;首次准备一份已知的小型候选列表。Shell集成取决于具体Shell和安装版本。

快速开始

2026年11月2日核对发行版0.74.5,10月11日发布。从官方发行页获取匹配平台的二进制文件,或按官方包管理说明安装;已有Homebrew时可用 brew install fzf。用 fzf --version 核对。通过标准输入提供小列表,输入片段筛选,Enter选择、Esc取消。了解文档中的行为后再设置可选Shell集成。

在终端里筛选候选文件、历史记录或其他文本行。先理解选择结果,再接入快捷键和命令绑定。

先知道自己在选什么

fzf 是 Junegunn Choi 与贡献者开发的终端模糊查找器。它从标准输入读取候选文本行,将选中的项写到标准输出;没有管道输入时,默认文件遍历器会建立候选列表。适合从文件名或历史记录中选一项,不等于搜索所有文件的正文。

从一个小列表开始

先输入片段缩小候选范围,移动选中项并按Enter,或用Esc取消。把结果接给编辑器或其他命令之前,先检查实际输出。预览命令和自定义绑定会增加筛选之外的行为;README将它们与可选Shell集成分别说明。

核对自己的Shell环境

在 issue4945 中,AlexPKok 报告 Linux/Bash上的fzf0.74.5使用自定义 == 补全触发符后,文件名前会残留这些字符。两位评论者描述了与Bash词边界相关的复现。该问题仍开放,所链接的fork不等于上游发行版已经修复;本站未复现。先用文档默认方式,在自己的Shell测试补全,再决定是否自定义触发符。本推荐未安装或运行fzf。

资料来源与延伸阅读

  1. fzf README: installation and usage官方资料 · Junegunn Choi and contributors
  2. fzf v0.74.5 release官方资料 · fzf maintainers
  3. Custom == completion trigger leaves a prefix #4945评论 · AlexPKok; hamarshehmhmd and ump45nose