快捷键
Codex CLI 支持丰富的键盘快捷键,提升操作效率。
命令前缀
在输入框行首使用特殊前缀可触发快捷功能:
| 前缀 | 说明 | 示例 |
|---|---|---|
/ | 斜杠命令 | /model、/review、/diff |
! | 直接执行 Shell 命令(输出作为用户输入反馈给模型) | ! npm test、! git status |
@ | 文件路径模糊搜索,按 Tab/Enter 插入路径 | @src/utils/ |
? | 显示快捷键帮助覆盖层(仅在输入框为空时有效) | ? |
TIP
使用 ! 前缀直接执行命令可以让模型查看输出并继续推理,无需额外粘贴。
通用控制
| 快捷键 | 说明 |
|---|---|
Ctrl + C | 取消当前输入;如无输入则中断任务 / 退出 |
Ctrl + D | 退出 Codex CLI |
Ctrl + L | 清屏(保留对话历史) |
Ctrl + T | 打开 / 关闭完整记录查看器(分页滚动查看整个对话) |
Ctrl + G | 在外部编辑器中编辑当前输入(读取 $VISUAL / $EDITOR) |
Ctrl + O | 复制最后一条完成的 Codex 输出到剪贴板 |
Ctrl + R | 反向搜索历史输入 |
Esc | 中断当前任务(任务运行中),或取消输入 |
Esc Esc | 双击 ESC:编辑上一条用户消息(继续按 Esc 继续回溯,按 Enter 从该点 fork) |
Alt + R | 切换原始滚动模式(便于终端选择和复制) |
记录查看器导航
在 Ctrl + T 打开的记录查看器中:
↑/↓或PgUp/PgDn滚动Home/End跳到顶部 / 底部q或Ctrl + C或Ctrl + T关闭查看器Esc选中某条用户消息高亮,Enter从该点编辑并 fork→/←在回溯预览中前进 / 后退
多行输入
| 快捷键 | 说明 |
|---|---|
Shift + Enter | 插入换行 |
Ctrl + J | 插入换行 |
Alt + Enter | 插入换行(macOS) |
TIP
部分终端(iTerm2、WezTerm、Ghostty、Kitty)原生支持 Shift + Enter,其他终端可用 Ctrl + J。
图片粘贴
| 快捷键 | 说明 |
|---|---|
Ctrl + V | 从剪贴板粘贴图片 |
Ctrl + Alt + V | 从剪贴板粘贴图片(WSL 环境) |
拖拽图片文件到终端也可直接添加。
文本编辑
光标移动
| 快捷键 | 说明 |
|---|---|
Ctrl + A / Home | 移到行首 |
Ctrl + E / End | 移到行尾 |
Ctrl + B / ← | 向左移动一个字符 |
Ctrl + F / → | 向右移动一个字符 |
Ctrl + P / ↑ | 向上移动一行(或浏览历史) |
Ctrl + N / ↓ | 向下移动一行(或浏览历史) |
Alt + B / Alt + ← / Ctrl + ← | 跳到上一个单词开头 |
Alt + F / Alt + → / Ctrl + → | 跳到下一个单词末尾 |
删除与剪切
| 快捷键 | 说明 |
|---|---|
Ctrl + U | 删除光标前所有内容(到行首) |
Ctrl + K | 删除光标后所有内容(到行尾) |
Ctrl + Y | 粘贴最近剪切的内容(yank) |
Ctrl + W / Alt + Backspace | 删除光标前一个单词 |
Backspace / Ctrl + H | 删除光标前一个字符 |
Delete / Ctrl + D | 删除光标后一个字符 |
剪切与粘贴
Ctrl + K 和 Ctrl + U 剪切的内容会保存在 kill buffer 中,可用 Ctrl + Y 粘贴回来。
任务交互
| 快捷键 | 说明 |
|---|---|
Enter | 发送消息;任务运行中则注入到当前回合 |
Tab | 任务运行中:将输入排队到下一回合;否则发送 |
↑ / ↓ | 浏览历史消息(输入框为空或单行时) |
Shift + Tab | 循环切换协作模式(Plan / Pair Programming / Execute) |
Alt + , | 降低推理强度 |
Alt + . | 提高推理强度 |
协作模式循环
Shift + Tab 循环切换协作模式(Plan 模式 → 配对编程模式 → Execute 模式),仅在实验性功能启用时可用。
Vim 模式
如果启用了 Vim 模式(/vim 或配置 tui.vim_mode_default = true),在 Normal 模式下可用:
模式切换
| 快捷键 | 说明 |
|---|---|
Esc | 进入 Normal 模式 |
i / I | 进入 Insert 模式(光标前 / 行首) |
a / A | 进入 Insert 模式(光标后 / 行尾) |
o / O | 下方 / 上方新建行并进入 Insert 模式 |
导航
| 快捷键 | 说明 |
|---|---|
h / j / k / l | 左 / 下 / 上 / 右移动 |
w / e / b | 下一词首 / 词尾 / 上一词首 |
0 / $ / ^ | 行首 / 行尾 / 首个非空字符 |
gg / G | 文档开头 / 结尾 |
编辑
| 快捷键 | 说明 |
|---|---|
x | 删除当前字符 |
dd / D | 删除整行 / 删除到行尾 |
dw / de / db | 删除到下一词首 / 词尾 / 上一词首 |
cc / C | 修改整行 / 修改到行尾 |
yy / Y | 复制整行 |
p / P | 粘贴(光标后 / 光标前) |
u | 撤销 |
. | 重复上一操作 |
TIP
Vim 模式下按 Escape 退出插入模式,然后按 Enter 发送消息。
自定义快捷键
可以通过 /keymap 交互式地修改快捷键绑定,修改结果会持久化到 ~/.codex/config.toml 的 [tui.keymap] 段。
示例(手动编辑):
toml
[tui.keymap.global]
open_transcript = "ctrl-t"
copy_last_response = "ctrl-o"
[tui.keymap.composer]
submit = "enter"
queue_or_submit = "tab"按键名称格式:ctrl-a、shift-enter、page-down 等。