Codex CLI Shell Completions:为 bash、zsh、fish 启用补全
学习用 codex completion bash/zsh/fish 生成 shell 补全脚本,并把它加入 shell 配置文件,提高日常 CLI 操作效率。
适用场景
如果你经常输入 codex resume、codex cloud、codex mcp 或各种 flags,shell completions 可以减少记忆成本。
启用后,在终端里输入 codex 然后按 Tab,shell 会提示可用子命令和参数。
查看补全脚本
官方文档列出的命令:
codex completion bash
codex completion zsh
codex completion fish
先直接运行一遍,确认 CLI 能输出脚本。
zsh 配置
如果你使用 zsh,把下面内容加入 ~/.zshrc:
eval "$(codex completion zsh)"
然后重启 shell,输入:
codex <Tab>
如果看到 command not found: compdef,在它前面加:
autoload -Uz compinit && compinit
eval "$(codex completion zsh)"
bash 配置
bash 用户可以把补全脚本写入 shell 启动配置。常见方式是:
eval "$(codex completion bash)"
如果团队机器统一管理 shell 配置,可以把它放到公共 profile 或 dotfiles 中。
fish 配置
fish 用户可以使用:
codex completion fish | source
如果希望新终端自动生效,把对应 source 逻辑加入 fish 配置文件。
验证是否生效
打开新终端后测试:
codex <Tab>
codex cloud <Tab>
codex mcp <Tab>
如果没有提示:
- 确认
codex在PATH中。 - 确认 shell 配置文件真的被加载。
- 重新打开终端。
- 对 zsh 检查
compinit。
常见错误
不要把 completion 输出手动复制到项目仓库里。它属于本机 shell 配置。
不要忘记重启 shell。修改 ~/.zshrc 或 ~/.bashrc 后,新会话才会稳定生效。
不要在 CI 里依赖交互式补全。CI 脚本应写完整命令。
小结
Shell completions 是小功能,但能显著减少 CLI 记忆负担。用 codex completion <shell> 生成脚本,加入对应 shell 配置,重启终端后用 Tab 验证即可。
相关教程
常见问题
Shell completion 支持哪些 shell?
官方 features 页面列出了 bash、zsh 和 fish 的 completion 命令。其他 shell 是否支持以当前 CLI 输出为准。
zsh 提示 command not found: compdef 怎么办?
官方文档建议在 zsh 配置里先加入 `autoload -Uz compinit && compinit`,再执行 `eval "$(codex completion zsh)"`。