介绍

fzf is a general-purpose command-line fuzzy finder.

简单说,fzf 就是一个通用目的的命令行搜索器,可以快速地进行模糊匹配。

优点

模糊搜索

现在信息量越来越大,人的大脑并不擅长记住细节,只能记住个大概。计算机只擅长记住细节,人机交互,需要机器适应人。因此最好的方式就是机器提供模糊搜索方式,有很多现成的例子:

  • Google 搜索引擎
  • Everything 文件搜索
  • Alfred 应用启动器

而文件名搜索也是类似的,人们往往只会记住文件名或路径的一部分,因此需要模糊搜索。

搜索范围

Shell 下的补全只能补全一级路径,如果需要多级路径只能一层一层的补全下去。

但是 fzf 搜索范围是当前目录及子目录中的所有文件,可以快速递归模糊匹配所有路径,极大地提升了效率。

快捷键

  • Ctrl+T 复制文件与目录路径到命令行

  • Ctrl+R 复制选中的历史命令到命令行

因为命令行下大部分工作基本都是查找路径与历史记录了,越是这种经常操作的越是需要提升效率,而使用绑定的快捷键+模糊搜索会极大提升效率。

快捷键绑定默认是不进行安装的,可以参考文档进行配置。

环境

  • macOS 10.14.6
  • zsh 5.7.1
  • fzf 0.27.0

安装

HomeBrew

前往官网复制命令到终端中执行即可。

fzf

安装 fzf

1
$ brew install fzf

安装快捷键绑定,默认并不自动安装

1
$ /usr/local/opt/fzf/install

扩展阅读

本文只是简要介绍一下 fzf,并未深入挖掘 fzf 的功能,比如如何与其他软件配合使用。

下面是网上写的很好的文章,从不同的角度介绍 fzf,并且都非常详细,有兴趣的可以进一步阅读: