目录
- 简介
- 首次用户
- 功能特点
- 竞品和相关作品
- 进一步阅读
简介
fzf
是一个由 Go 编写的命令行模糊搜索工具,用于在大量文本数据中快速定位和选择内容,可以与任何列表一起使用(e.g. 文件、命令历史记录、进程、主机名、书签、git 提交等)。
首次用户
-
使用
x fzf
即可自动下载并使用- 在终端运行
eval "$(curl https://get.x-cmd.com)"
即可完成 x 命令安装, 详情参考 x-cmd 官网
- 在终端运行
-
x-cmd 提供1分钟教程,其中包含了 fzf 命令常用功能的 demo 示例,可以帮你快速上手 fzf 。
-
使用案例:
# 以默认设置启动 `fzf` $ ls | x fzf# 搜索包含指定搜索词的条目 $ ls | x fzf -q "t"# 在选择条目时预览文件内容 $ ls | x fzf --preview 'cat {}'# 绑定 ctrl-r 快捷键,优化 ctrl-r 历史搜索功能 # 1. 在 bash 中 $ eval "$(x hub file cat u-xuanbin:key-bindings.bash)" # 2. 在 zsh 中 $ eval "$(x hub file cat u-xuanbin:key-bindings.zsh)"
功能特点
- 可移植,无依赖:没有外部依赖,可以在多个操作系统上方便地安装和使用。
- 速度极快:fzf 使用高效的模糊匹配算法和预处理技术,能够快速过滤和选择大量的文本数据。
- 功能集全面:fzf 提供了多种功能,包括模糊匹配、多选、支持正则表达式、自定义布局、自动补全等。
- 支持 Vim/Neovim 插件和键盘事件绑定
竞品和相关作品
- x pick 是 x-cmd 开发的命令行数据选择器,由 shell 和 awk 编写,功能没有
fzf
丰富,可在主流 posix shell 上运行,集成在 x-cmd 里面,无需额外下载。 - rofi 是一个功能强大的窗口小部件,主要用于应用程序启动、文件搜索、窗口选择等任务。虽然它的主要用途不是模糊搜索,但它具有出色的文本选择功能。
- peco 是另一个交互式过滤工具,专注于命令行选择和搜索。它支持模糊搜索和即时筛选,并且易于集成到不同的命令行工具中。
- selecta 是一个 Ruby 编写的选择器,允许用户从文本列表中进行交互式选择。它具有类似 fzf 的模糊搜索功能。
- percol 是一个 Python 编写的交互式选择器,它支持 fzf-style 的模糊搜索,允许用户通过命令行过滤和选择。
进一步阅读
- 项目托管在 GitHub 上,里面的 README 文档提供了详细的参数功能和使用说明
- Why you should be using fzf, the command line fuzzy finder,这篇文章详实地介绍了 fzf 的各项优点以及使用技巧,并附带有直接的演示。
- A Practical Guide to fzf: Building a File Explorer,这篇文章介绍了如何使用 fzf 构建文件资源管理器。
- A Practical Guide to fzf: Shell Integration,这篇文章介绍了如何使用 fzf 在 shell 集成。
X-CMD 官网
x-cmd-pkg
x-cmd-1min