终端-模糊查找神器-fzf

fzf是一款用GO语言编写的交互式Unix命令行工具,适用于查找文件、目录和历史命令。通过包管理工具如brew进行安装,支持快捷键操作、搜索语法和预览窗口功能,提供高效模糊查找体验。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

fzf是一款使用 GO 语言编写的交互式的 Unix 命令行工具。

可以用来查找任何 列表内容、文件、历史命令、 本机绑定的host、 进程、 Git 分支、进程 等。所有的命令行工具可以生成列表输出的都可以再通过管道 pipe 到 fzf 上进行搜索和查找

项目地址:github.com

安装

我们通过包管理工具可以方便的安装它

  • macOS - brew下载安装

    brew install fzf
    # 安装 键盘映射和模糊提示
    $(brew --prefix)/opt/fzf/install
    
  • debian系列 - apt install fzf

  • windows - 从 release 下载后安装

  • 使用 git 下载安装

    git clone --depth 1 https://github.com/junegunn/fzf.git ~/.fzf
    # 安装
    ~/.fzf/install
    

更新

  • git: cd ~/.fzf && git pull && ./install
  • brew: brew update; brew reinstall fzf

使用

CTRL-T 查找目录下条目

使用 CTRL-T 查找粘贴目录下的文件或目录到命令行

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-WtzrLuXD-1569741201347)(…/…/images/2019-8/Untitled2.gif)]

CTRL-R 查找历史命令

使用 CTRL-R 查找并粘贴选中的历史命令到命令行,可以通过再次按下 CTRL-R 切换时间排序相关性排序

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-lt3UwmnJ-1569741201349)(…/…/images/2019-8/Untitled3.gif)]

快捷键

在输出交换窗口里

  • Ctrl-J/Ctrl-K/Ctrl-N/Ctrlk-N可以用来将光标上下移动
  • Enter键用来选中条目, Ctrl-C/Ctrl-G/Esc用来退出
  • 在多选模式下(-m), TAB和Shift-TAB用来多选
  • Mouse: 上下滚动, 选中, 双击; Shift-click或shift-scoll用于多选模式

搜索语法

fzf默认会以“extened-search"模式启动, 这种模式下你可以输入多个以空格分隔的搜索关键词, 如^music .mp3$, sbtrkt !fire.

TokenMatch typeDescription
sbtrktfuzzy-match匹配sbtrkt
^musicprefix-exact-match以music开头
.mp3^suffix-exact-match以.mp3结尾
'wildexact-match(quoted)精确包含wild
!fireinverse-exact-match不包含fire
!.mp3$inverse-suffix-exact-match不以.mp3结尾

如果你不想用fuzzy match, 可以用fzf -e做精确匹配
符号"|"可以做or匹配, 比如

# 表示以core开头,以go或rb或py结尾的
^core go$|rb$|py$

预览窗口

通过 fzf --preview 'cat {}' 可以 动态的预览文本,再也不用一个个 cat

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Rsk5r6jb-1569741201350)(…/…/images/2019-8/Untitled.gif)]

更多

更多优秀工具,请关注微信公众号获取

wx

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值