此页面提供了 fzf 中所有可用命令行选项的全面参考。这些选项控制 fzf 的模糊查找算法、输入/输出处理、显示布局和用户界面。有关 Shell 集成功能的信息,请参阅 Shell 集成,有关按键绑定详细信息,请参阅 按键绑定自定义。
来源: man/man1/fzf.138-210 src/options.go19-224
fzf 按以下优先级顺序处理来自多个来源的选项
来源: man/man1/fzf.11192-1213 src/options.go3416-3483
这些选项控制 fzf 执行模糊匹配的方式
| 选项 | 描述 |
|---|---|
-x, --extended | 扩展搜索模式(默认启用) |
+x, --no-extended | 禁用扩展搜索模式 |
-e, --exact | 启用精确匹配 |
-i, --ignore-case | 忽略大小写匹配 |
+i, --no-ignore-case | 区分大小写匹配 |
--smart-case | 智能大小写匹配(默认) |
--literal | 匹配时不规范化拉丁字母脚本 |
--scheme=SCHEME | 评分方案:default、path 或 history |
-n, --nth=N[,..] | 用于限制搜索范围的逗号分隔字段索引表达式列表 |
--with-nth=N[,..] | 使用字段索引表达式转换每行的显示方式 |
--accept-nth=N[,..] | 定义接受时打印哪些字段 |
-d, --delimiter=STR | 字段分隔符正则表达式(默认:AWK 样式) |
+s, --no-sort | 不排序结果 |
--tail=NUM | 内存中要保留的最大项目数 |
--disabled | 不执行搜索 |
--tiebreak=CRI[,..] | 当得分相同时应用的排序标准的逗号分隔列表 |
搜索选项直接影响 fzf 如何匹配和评分项目
--extended)允许您指定由空格分隔的多个模式。--exact)禁用模糊匹配,并要求查询字符串的精确出现。--ignore-case、--no-ignore-case 和 --smart-case 控制。--scheme)为不同类型的内容优化评分default:通用评分,旨在与任何类型输入配合使用path:为路径分隔符后的字符提供加分(适用于文件名)history:无额外加分,优先考虑时间顺序来源: man/man1/fzf.143-204 src/options.go225-250 src/algo/algo.go
这些选项控制 fzf 如何读取输入和产生输出
| 选项 | 描述 |
|---|---|
--read0 | 以 ASCII NUL 字符分隔读取输入,而不是以换行符分隔 |
--print0 | 以 ASCII NUL 字符分隔打印输出,而不是以换行符分隔 |
--ansi | 启用 ANSI 颜色代码的处理 |
--sync | 多阶段过滤的同步搜索。如果指定,fzf 将仅在输入流完成时启动查找器 |
--no-tty-default | 让 fzf 通过标准错误搜索当前 TTY 设备,而不是默认使用 /dev/tty |
来源: man/man1/fzf.1206-236 src/options.go54-59
这些选项控制 fzf 的整体外观
| 选项 | 描述 |
|---|---|
--style=PRESET | 应用样式预设(default、minimal、full[:BORDER_STYLE]) |
--color=[BASE_SCHEME][,COLOR_NAME[:ANSI_COLOR][:ANSI_ATTRIBUTES]]... | 颜色配置 |
--no-color | 禁用颜色 |
--no-bold | 不使用粗体文本 |
--black | 使用黑色背景 |
`--color` 选项允许广泛自定义 fzf 的外观。语法包括
dark、light、16、bw(无颜色)fg、bg、hl、fg+、bg+、gutter、hl+、query、disabled、info 等。-1(默认)、0-15(16 种基础颜色)、16-255(ANSI 256 色)、#rrggbb(24 位颜色)regular、bold、underline、reverse、dim、italic、strikethrough来源: man/man1/fzf.1238-355 src/options.go60-65 src/tui/theme.go
这些选项控制 fzf 在屏幕上的显示方式
| 选项 | 描述 |
|---|---|
--height=[~]HEIGHT[%] | 在光标下方显示 fzf 窗口,给定高度 |
--min-height=HEIGHT[+] | 当高度以百分比给出时的最小高度 |
--tmux[=[center|top|bottom|left|right][,SIZE[%]][,SIZE[%]][,border-native]] | 在 tmux 弹出窗口中启动 fzf |
来源: man/man1/fzf.1345-397 src/options.go346-379
这些选项控制 fzf 的布局
| 选项 | 描述 |
|---|---|
--layout=LAYOUT | 选择布局(default、reverse、reverse-list) |
--reverse | `--layout=reverse` 的同义词 |
--margin=MARGIN | 查找器周围边距的逗号分隔表达式 |
--padding=PADDING | 边框内填充的逗号分隔表达式 |
--border[=STYLE] | 在查找器周围绘制边框 |
--border-label=LABEL | 要在水平边框线上打印的标签 |
--border-label-pos=N[:top|bottom] | 边框标签的位置 |
来源: man/man1/fzf.1398-543 src/options.go400-462
这些选项控制列表显示
| 选项 | 描述 |
|---|---|
-m, --multi[=MAX] | 使用 tab/shift-tab 启用多选 |
+m, --no-multi | 禁用多选 |
--highlight-line | 高亮显示整个当前行 |
--cycle | 启用循环滚动 |
--wrap | 启用换行 |
--wrap-sign=INDICATOR | 换行指示符 |
--no-multi-line | 使用 `--read0` 时禁用项目的多行显示 |
--track | 当结果列表更新时,让 fzf 跟踪当前的选择 |
--tac | 反转输入顺序 |
--gap[=N] | 在每个项目之间渲染空行 |
--gap-line[=STR] | 在每个间隙绘制水平线 |
--keep-right | 当行太长时,保持行末可见 |
--scroll-off=LINES | 滚动时要保留在上方或下方的屏幕行数 |
--no-hscroll | 禁用水平滚动 |
--hscroll-off=COLS | 高亮子字符串右侧要保留的屏幕列数 |
--jump-labels=CHARS | 跳转模式的标签字符 |
--pointer=STR | 当前行的指针 |
--marker=STR | 多选标记 |
--marker-multi-line=STR | 多行条目的多选标记 |
--ellipsis=STR | 行截断时显示的省略号 |
--tabstop=SPACES | 制表符的空格数 |
--scrollbar=CHAR1[CHAR2] | 使用给定字符渲染滚动条 |
--no-scrollbar | 不显示滚动条 |
--list-border[=STYLE] | 在列表部分周围绘制边框 |
--list-label=LABEL | 要在列表边框上打印的标签 |
--list-label-pos=N[:top|bottom] | 列表标签的位置 |
来源: man/man1/fzf.1544-652 src/options.go544-653
这些选项控制输入界面
| 选项 | 描述 |
|---|---|
--no-input | 禁用并隐藏输入部分 |
--prompt=STR | 输入提示符(默认:'> ') |
--info=STYLE | 查找器信息样式 |
--info-command=COMMAND | 生成信息行的命令 |
--separator=STR | 在信息行上绘制水平分隔符 |
--no-separator | 隐藏信息行分隔符 |
--ghost=TEXT | 输入为空时显示的幽灵文本 |
--filepath-word | 使按单词进行的移动和操作能够正确处理路径分隔符 |
--input-border[=STYLE] | 在输入部分周围绘制边框 |
--input-label=标签 | 在输入框边框上显示的标签 |
--input-label-pos=N[:top|bottom] | 输入标签的位置 |
来源: man/man1/fzf.1653-740 src/options.go654-738
这些选项配置预览窗口
| 选项 | 描述 |
|---|---|
--preview=COMMAND | 对当前行执行给定的命令并显示结果 |
--preview-window=OPT | 预览窗口布局(默认:right:50%) |
--preview-border[=STYLE] | 简写形式为 --preview-window=border-STYLE |
--preview-label=标签 | 在预览边框上显示的标签 |
--preview-label-pos=N[:top|bottom] | 预览标签的位置 |
来源: man/man1/fzf.1740-967 src/options.go326-365
来源: man/man1/fzf.1740-967 src/options.go739-864
这些选项控制 header 的显示
| 选项 | 描述 |
|---|---|
--header=STR | 作为 header 显示的字符串 |
--header-lines=N | 输入的头 N 行被视为固定的 header |
--header-first | 在 prompt 行之前打印 header |
--header-border[=STYLE] | 在 header 部分周围绘制边框 |
--header-label=标签 | 在 header 边框上显示的标签 |
--header-label-pos=N[:top|bottom] | header 标签的位置 |
--header-lines-border[=STYLE] | 使用单独的边框显示来自 --header-lines 的 header |
来源: man/man1/fzf.1968-1001 src/options.go966-1001
这些选项在脚本中使用 fzf 时非常有用
| 选项 | 描述 |
|---|---|
-q, --query=STR | 用给定的查询启动查找器 |
-1, --select-1 | 自动选择唯一的匹配项 |
-0, --exit-0 | 如果没有匹配项,则立即退出 |
-f, --filter=STR | 过滤模式。不启动交互式查找器 |
--print-query | 将查询作为第一行打印 |
--expect=KEY[,..] | 可用于完成 fzf 的按键列表,用逗号分隔 |
来源: man/man1/fzf.11002-1040 src/options.go1182-1187
| 选项 | 描述 |
|---|---|
--bind=BINDINGS | 自定义按键/事件绑定列表,用逗号分隔 |
--bind 选项允许您将按键或事件绑定到一个或多个操作。有关按键/事件绑定的详细信息,请参阅 Key Binding Customization。
来源: man/man1/fzf.11055-1061 src/options.go1058-1059
这些是用于高级用例的特殊选项
| 选项 | 描述 |
|---|---|
--with-shell=STR | 启动子进程时使用的 shell 命令和标志 |
--listen[=[ADDR:]PORT] | 启动 HTTP 服务器以通过 POST 方法接收操作 |
来源: man/man1/fzf.11062-1107 src/options.go1063-1066
这些选项配置内置的目录遍历器,当 $FZF_DEFAULT_COMMAND 未设置时使用。
| 选项 | 描述 |
|---|---|
--walker=[file][,dir][,follow][,hidden] | 确定内置目录遍历器的行为 |
--walker-root=DIR [...] | 用于启动内置目录遍历器的目录名称列表 |
--walker-skip=DIRS | 在目录遍历期间要跳过的目录名称列表,用逗号分隔 |
来源: man/man1/fzf.11108-1132 src/options.go1108-1131
这些选项控制命令历史记录功能
| 选项 | 描述 |
|---|---|
--history=HISTORY_FILE | 从指定文件加载搜索历史记录,并在完成时更新该文件 |
--history-size=N | 历史文件中的最大条目数 |
来源: man/man1/fzf.11133-1146 src/options.go1134-1141
这些选项生成 shell 集成脚本
| 选项 | 描述 |
|---|---|
--bash | 打印脚本以设置 Bash shell 集成 |
--zsh | 打印脚本以设置 Zsh shell 集成 |
--fish | 打印脚本以设置 Fish shell 集成 |
来源: man/man1/fzf.11148-1166 src/options.go1148-1166
fzf 识别以下环境变量
| 可变 | 描述 |
|---|---|
FZF_DEFAULT_COMMAND | 输入为 tty 时的默认命令。在 *nix 系统上,如果设置了 SHELL,fzf 会使用 $SHELL -c 执行该命令,否则使用 sh -c。 |
FZF_DEFAULT_OPTS | 默认选项(例如:'--layout=reverse --info=inline') |
FZF_DEFAULT_OPTS_FILE | 包含默认选项的文件的位置 |
FZF_API_KEY | 在使用 --listen 选项时,用于 HTTP 服务器身份验证的 API 密钥 |
fzf 还向子进程导出多个环境变量,包括:
| 可变 | 描述 |
|---|---|
FZF_QUERY | 当前查询字符串。 |
FZF_PREVIEW_LINES | 预览窗口中的行数 |
FZF_PREVIEW_COLUMNS | 预览窗口中的列数 |
FZF_PREVIEW_TOP | 预览窗口的顶部位置 |
FZF_PREVIEW_LEFT | 预览窗口的左侧位置 |
FZF_PORT | 使用 --listen 选项时的端口号 |
来源: man/man1/fzf.11192-1213 src/options.go1192-1212 man/man1/fzf.11227-1336
| 代码 | 含义 |
|---|---|
| 0 | 正常退出 |
| 1 | 无匹配项 |
| 2 | 错误 |
| 126 | become 操作的权限被拒绝错误 |
| 127 | become 操作的无效 shell 命令 |
| 130 | 被 CTRL-C 或 ESC 中断 |