fzf

名称、版本与用途

  • 名称:fzf
  • 当前版本:0.70.0
  • 路径:~/.local/bin/fzf
  • 用途:把任意文本流变成交互式模糊选择器。

基本语法(Synopsis)

COMMAND | fzf [OPTIONS]
fzf [OPTIONS]

[] 表示可选项,... 表示可重复;大写名称表示需要替换的参数。

当前安装与更新

当前是官方 release 的独立 Linux 二进制,并被本地离线 bundle 收录。

本地 install_cli_tools.sh 对已有版本会跳过。升级时下载新的 fzf-<版本>-linux_amd64.tar.gz,核验后替换 ~/.local/bin/fzf。

配置文件

fzf 主要使用环境变量和 Shell 初始化:

  • FZF_DEFAULT_OPTS:当前未设置。
  • FZF_DEFAULT_COMMAND:当前未设置。
  • .zshrc 使用 eval "$(fzf --zsh)"。

只有在明确需要统一默认行为时才设置全局变量;过多默认参数会使脚本难以复用。

zsh 启动集成

是。当前 .zshrc 直接加载 fzf 的 zsh 集成,提供历史和文件选择快捷键。

基本功能与推荐用法

fzf                                      # 从标准输入选择
history 1 | fzf                          # 搜索历史
fd -t f | fzf                            # 选择文件
git branch --format='%(refname:short)' | fzf
ps -ef | fzf                             # 筛选进程列表
fd -t f | fzf --multi                    # 多选
fd -t f | fzf --preview 'batcat --color=always {}'

常用 zsh 集成:

  • Ctrl+R:模糊搜索历史。
  • Ctrl+T:选择文件插入命令行。
  • Alt+C:选择目录并进入。

fzf 只是选择器。文件枚举交给 fd,内容搜索交给 rg,预览交给 batcat。

示例中的选项、参数与子命令

本表解释本页示例实际出现的选项、参数、子命令及必要的辅助命令语法。

语法元素含义
--multi允许选择多个条目。
--preview COMMAND用 COMMAND 显示当前候选的预览。
{}在预览或执行命令中代表当前候选。
标准输入管道输入的每一行作为一个候选条目。
fd -t ffd 只列出普通文件。
git branch --format=FORMAT按 FORMAT 输出分支列表。
ps -efps 的完整格式进程列表。
batcat --color=always即使输出到管道也保留颜色。

官方资料