fzf
免费任何一行一条的东西,都能模糊搜出来
开源 无广告 无追踪 离线可用 无需注册 跨平台
通用的命令行模糊搜索器。任何按行输出的内容——文件列表、命令历史、Git 分支、进程、ssh 主机——都能管道给它,输入几个字母实时筛选并选中。装完之后 Ctrl-R 的历史搜索和 Ctrl-T 的文件查找会被换成它。
为什么推荐它
MIT 协议,8.3 万颗星。
它本身不知道什么是文件、什么是分支。它只做一件事:
接一串行,按你输入的字符模糊匹配,把选中的那行吐回去。
正因为只做这一件事,它能接到任何地方——
git branch | fzf 选分支,ps aux | fzf 挑进程,
history | fzf 翻命令,全是同一个动作。
最直接的收益是 Ctrl-R。默认的 shell 历史搜索要精确记得前缀, 换成 fzf 之后输入任意几个字母就能捞出三周前那条带一串参数的命令。 这一个改动就值回装它的成本。
和目录里的 ripgrep、fd、Yazi 是常见组合:ripgrep 出内容、 fd 出文件名、fzf 负责挑。
要说清楚的:
- 需要把 shell 集成脚本加进配置文件才有 Ctrl-R / Ctrl-T, 装完不配置的话只是个命令。
- Windows 上原生能跑,但 shell 集成在 PowerShell 里要装 PSFzf 之类的桥接。