x-cmd pkg | fzf - 通用命令行模糊查找器

简介

fzf(fuzzy finder)是一个用 Go 编写的通用命令行模糊查找工具,它能为任何类型的列表构建用于过滤的交互式面板,比如文件列表、命令历史记录、进程、主机名、git 提交。您可以简单地将其视为 grep 的交互式版本。

在命令行中,我们经常会执行处理列表相关的操作,比如(在不清楚目录名或文件名的情况下)切换到其他目录或使用编辑器打开文件、查看不同的 git 分支日志。而 fzf 能简化这些流程,提高您的工作效率。

快速入门

  1. 快速优化 shell 使用体验,比如增强 Ctrl-rCtrl-tAlt-c 快捷键功能、为一些常用命令提供快捷补全项:

    # 执行下述命令即可优化对应 shell
    eval "$(fzf --bash)"
    source <(fzf --zsh)
    fzf --fish | source
    
    • Ctrl-r:将历史记录中选定的命令粘贴到命令行上
    • Ctrl-t:将选定的文件和目录粘贴到命令行上
    • Alt-c:cd 进入所选目录
    • 快捷补全项
      cd **<TAB>
      cd ~/**<TAB>
      kill -9 **<TAB>
      ssh **<TAB>
      unalias **<TAB>
      
  2. 定制一个交互式 cd 选择器:

    alias fcd='cd "$(find . -type d | fzf --preview="ls -la {}")"'
    fcd     # 启动交互式 `cd` 选择器
    
  3. 定制一个交互式 vi 选择器:

    alias fvi='vi "$(find . -type f | fzf --preview="cat {}")"'
    fvi     # 交互式 `vi` 选择器
    
  4. 定制一个交互式 git 分支选择器:

    alias gcb='git branch | fzf | cut -c 3- | xargs git checkout'
    gcd     # 启动交互式 `git` 分支选择器
    
  5. 使用案例:

在这里插入图片描述

功能特点

  1. 可移植,无依赖:支持在 Windows、Linux、macOS 等操作系统上使用它,且无需额外安装第三方依赖。
  2. 速度极快:使用高效的模糊匹配算法和预处理技术,能迅速地处理大量数据。
  3. 功能集全面:fzf 提供了非常多的功能,包括模糊匹配、多选、预览、自定义布局、自动补全等。
  4. 支持 Vim/Neovim 插件和键盘事件绑定

竞品和相关项目

  1. x pick:x-cmd 开发的命令行数据选择器,由 shell 和 awk 编写,功能没有 fzf 丰富,支持在主流 posix shell 上运行。
  2. skim:一个用 Rust 编写的通用命令行模糊查找工具,与 fzf 类似。
  3. forgit:使用 fzf 增强 git 使用体验的 shell 脚本集合。
  4. fzf-tab:一个 zsh 插件,能将 zsh 的默认补全选择菜单替换为 fzf 面板。
  5. fzf.vim:使用 vim script 编写的插件,能在使用 Vim/Neovim 查找文件、缓冲区、命令时提供模糊查找功能。
  6. fzf-lua:用 lua 重写的 fzf.vim

进一步阅读

更多内容请查阅 : pkg/fzf

转载请标明原文链接 :https://www.x-cmd.com/pkg/fzf


关注微信官方公众号 : oh my x

获取开源软件和 x-cmd 最新用法

  • 15
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值