补全菜单与自动建议,同时呈现。
菜单根据实际输入提示候选,历史命令自动建议(History-based Autosuggestions)根据当前目录的历史匹配完整命令,以内联灰色文本显示。方向键浏览菜单,右箭头插入;Ctrl+E 接受自动建议,Enter 在有自动建议时执行完整建议,否则执行当前输入。
zsh · Bash · Fish
开源终端自动补全 · 受 Fig 启发的独立项目
输入时查看候选,用右箭头插入下一步。菜单与按目录匹配的历史命令自动建议同时显示,无需另外安装 zsh-autosuggestions 类命令自动建议插件。
v0.2.0 支持 zsh、Bash 4.4+、Fish 3.6+。查看支持范围与系统要求 ↗
LIVE IN YOUR TERMINAL
无需切换窗口,也无需记住所有子命令。选中候选后继续输入,下一层自然出现。

↗ 输入 gi,菜单按实际输入显示候选,历史命令自动建议以内联灰色文本显示。Ctrl+E 接受建议,Enter 执行完整建议。
BUILT FOR FLOW
把熟悉的终端留给你,把繁琐的记忆工作交给 rfig。
菜单根据实际输入提示候选,历史命令自动建议(History-based Autosuggestions)根据当前目录的历史匹配完整命令,以内联灰色文本显示。方向键浏览菜单,右箭头插入;Ctrl+E 接受自动建议,Enter 在有自动建议时执行完整建议,否则执行当前输入。
优先使用当前 Shell 的补全定义,再结合可用脚本、协议和帮助缓存。分支、路径等候选随环境变化,多级能力取决于补全来源。
按命令上下文累计选择与执行记录。常用候选靠前,最多前三项标记圈号,其他候选仍可浏览;数据保存在本机。
输入 gi 时,即使自动建议给出完整的 git checkout master,菜单也只按 gi 提示。颜色使用终端的 ANSI 调色板,选中项由箭头与文字颜色标识。
KNOW WHAT WORKS
v0.2.0 支持以下 Shell,可按需分别启用。
| 功能 | zsh | Bash 4.4+ | Fish 3.6+ |
|---|---|---|---|
| 自动菜单与多级候选 | ✅ 已支持 | ✅ 已支持 | ✅ 已支持 |
| 按目录匹配的自动建议 | ✅ 已支持 | ✅ 已支持 | ✅ 已支持 |
| 常用排序、类别配色 | ✅ 已支持 | ✅ 已支持 | ✅ 已支持 |
当前源码支持 Linux x86_64 / ARM64。帮助探测使用 Landlock + seccomp,需启用 Landlock ABI 3+(通常为 Linux 6.2+);不满足时保留现有补全和历史。Linux 安装包提供 x86_64 与 ARM64 两种架构,可从 Releases 下载。
使用 rfig setup --shell zsh 配置 zsh;将 Shell 名称换为 bash 或 fish 即可分别启用。配置完成后打开新会话,rfig 不会修改默认 Shell。
HOW IT WORKS
安装时扫描当前 PATH 中的可执行命令与常见补全目录。macOS/Linux 在可用沙箱中串行分析缺少规则的部分用户命令;动态候选仍按需查询。
选择 Homebrew、预编译包或源码安装。
按 $SHELL 或 --shell 指定的类型写入集成;可用沙箱中后台继续优化,可重复设置。
有可用补全来源时,候选出现在输入下方;历史从使用时开始按目录记录。
GET STARTED
macOS 与 Linux 均可从源码安装。Linux 安装包按 x86_64 / ARM64 区分,要求 glibc 2.36+。Homebrew 和下载包以发布版本为准。macOS 自带 Bash 3.2 不支持。
brew install tamia6/tap/rfig
rfig setup安装 Tap 发布版本,setup 默认按 $SHELL 配置;随后打开对应 Shell 的新会话。
A FEW DETAILS
不需要。rfig 内置历史命令自动建议,可替代它的历史命令自动建议功能。请从 .zshrc 或插件管理器中移除旧插件的加载配置,再开启新会话。Fish 集成也会关闭原生命令自动建议,使用 rfig 的目录历史。
rfig 是受 Fig 启发的独立开源终端自动补全项目,与 Fig 无隶属关系,也不声称兼容 Fig 的全部功能或规范。
不保证。候选范围取决于本机可用的补全定义、脚本、生成器和帮助缓存。有些命令可能没有候选,或只能获得基于帮助文本的基础候选。
不会。补全、历史建议和使用排序均在本机运行,无需 AI 服务或云端账号。
不会自动导入缺少目录信息的旧 Shell 历史。命令扫描以当前 PATH 与常见补全目录为范围,不会遍历整块磁盘。历史、选择记录与缓存保存在 ~/.config/rfig/。
有自动建议时,Enter 执行完整建议;没有自动建议时,执行实际输入,不会接受高亮菜单项。光标在行尾时,右箭头优先插入菜单选中项,Ctrl+E 接受自动建议而不执行。
命令可能没有可用补全定义,或后台分析尚未完成、被跳过或失败。可查看 ~/.config/rfig/enrich.status;done 只表示处理结束,不代表每个命令都成功。可用 rfig analyze <命令名> 单独刷新。Linux 若缺少 Landlock 或被容器限制,会明确提示无法探测,不会退回无隔离执行。
当前源码支持分别运行 rfig setup --shell zsh、rfig setup --shell bash 或 rfig setup --shell fish,再打开对应 Shell 的新会话。设置不会改变你的默认 Shell,各 Shell 的候选可能不同。