Codex 和 Claude Code CLI 常用快捷键:终端不是退路,是编程的主场

很多人第一次接触 AI 编程工具,会先找 VS Code 插件、JetBrains 插件,或者干脆在网页里复制粘贴。这个路径当然能用,但用久了会发现一个问题:真正写代码的时候,最频繁发生的动作并不是“聊天”,而是读文件、改文件、跑测试、看日志、回滚思路、继续追问。

这些动作本来就发生在终端里。

所以我现在更倾向于把 Codex CLI 和 Claude Code CLI 当成主入口,而不是把它们当成编辑器旁边的聊天框。终端有一个很朴素的优点:它离项目最近。当前目录、环境变量、包管理器、测试命令、Git 状态、日志输出,全都在同一个平面里。AI 助手在这里工作,不需要一层又一层 UI 适配。

本文整理的是两个工具在终端交互里最常用的快捷键。重复的键位只列一次,但会标明 Codex 和 Claude Code 的行为差异;只属于其中一个工具的,会单独列出来。

先记这一组:两个 CLI 都常见

快捷键Codex CLIClaude Code CLI我的使用建议
Ctrl+C退出交互会话,或中断当前操作中断当前操作;空闲时第一次清空输入,第二次退出最重要的“刹车键”。AI 正在跑偏时,不要等它说完,直接打断
Ctrl+L清屏,但不清会话重绘屏幕,修复终端显示错乱终端输出花了、滚动乱了,用它恢复视野
Ctrl+O复制最近一次 Codex 输出为 Markdown打开/关闭 transcript viewer,查看更完整的工具调用和执行细节同一个键位,两边含义不同。Codex 偏“复制结果”,Claude 偏“查看过程”
Ctrl+R搜索 prompt 历史反向搜索历史命令/提示复用旧 prompt 很有用,尤其是测试、审稿、重构类任务
Up / Down在输入历史里切换草稿光标移动或历史导航,取决于当前输入是否跨行别重复手打长提示,历史记录就是第二块剪贴板
TabCodex 正在运行时,可排队下一条消息;也常用于补全/选择接受提示建议;在历史搜索里可接受当前匹配AI 还没跑完时,先把下一步排上,节奏会顺很多
Esc取消搜索、关闭浮层,部分场景用于退出当前状态中断 Claude;双击 Esc Esc 可清空输入或打开 rewind 菜单Esc 是终端里的“退出当前层级”,比鼠标找关闭按钮快
/打开 slash command 入口打开 command / skill 入口会用 / 才算开始进入 CLI 的工作流
!直接输入 shell 命令,让命令输出进入上下文进入 shell mode,直接执行命令并把输出放进上下文小命令别让 AI 转述,直接 ! npm test! pnpm lint
@文件路径提及和补全文件路径提及和补全问具体文件时一定用 @,不要让模型猜路径

图片粘贴:Alt+V 值得单独记

Claude Code 官方文档明确写了:在 Windows 和 WSL 下,可以用 Alt+V 从剪贴板粘贴图片;在部分终端里也可以用 Ctrl+V 或 macOS iTerm2 的 Cmd+V

Codex CLI 的官方功能页写的是可以把 screenshot / image 直接放进 composer;我本机安装包里的快捷键提示也能看到 “paste images” 相关入口。实际在 Windows 终端里,Alt+V 是最值得优先尝试的图片粘贴键,因为 Ctrl+V 经常会被终端、Shell 或编辑控件截走。

换句话说,记法很简单:

Windows / WSL 里给 CLI 粘贴图片:先试 Alt+V。

这个快捷键很实用。你可以把报错截图、UI 截图、设计稿局部、公式截图直接丢进终端,然后让 AI 结合当前仓库处理。这里的体验和网页聊天不同:截图进入的是同一个开发上下文。
但是调用的大模型必须支持多模态,否则CLI不能识图

Codex CLI 单独常用的快捷键

快捷键作用场景
Ctrl+O复制最近一次 Codex 输出写完方案、总结、Review 结论后,直接复制成 Markdown
Ctrl+N在 Codex Cloud task 视图里切换 attempts多次尝试同一任务时,对比不同 attempt
Shift+Enter换行输入写长 prompt、贴日志、贴代码片段
Ctrl+G打开外部编辑器编辑当前草稿prompt 太长时,不要在单行输入框里硬写
Ctrl+T查看 transcript / 终端记录相关入口想回看上下文、过程或终端输出时使用
Esc Esc退出/关闭某些浮层或状态搜索、选择器、覆盖层里常用

Codex 还有一个很工程化的点:它支持 keymap 自定义。也就是说,快捷键不是只能背默认值;如果你长期用某种终端流派,可以把动作映射成自己习惯的键位。我的建议是先别急着改,先用默认键位一周,知道哪些动作真的高频以后再改。

Claude Code 单独常用的快捷键

Claude Code 的交互模式文档写得更细,尤其是文本编辑和 transcript viewer。下面这组是我认为真正值得记的。

快捷键作用场景
Ctrl+D退出 Claude Code 会话类似 EOF,结束当前交互
Ctrl+GCtrl+X Ctrl+E用默认文本编辑器编辑当前 prompt写复杂需求、改长提示
Ctrl+B把正在运行的 bash 命令或 agent 放到后台跑测试、构建、dev server 时继续对话
Ctrl+T显示/隐藏 task listClaude 拆多步任务时,看当前进度
Shift+TabAlt+M切换 permission mode在 default、acceptEdits、plan 等模式之间切换
Alt+P切换模型不清空当前 prompt 的情况下换模型
Alt+T开关 extended thinking需要更强推理时打开,不需要时关掉省时间
Alt+O开关 fast mode轻量任务优先速度
Ctrl+A光标到当前行开头编辑长 prompt
Ctrl+E光标到当前行末尾编辑长 prompt
Ctrl+K删除到行尾快速改写后半句
Ctrl+U删除到行首快速重写前半句
Ctrl+W删除前一个单词改英文命令、变量名很顺手
Ctrl+Y粘贴刚删除的文本配合 Ctrl+K / Ctrl+U
Alt+B / Alt+F按单词后退/前进比方向键快很多
Ctrl+J换行输入所有终端基本都能用
Shift+Enter换行输入Windows Terminal、iTerm2、WezTerm、Kitty 等终端常见可用
\ + Enter换行输入兼容性强,适合终端不识别 Shift+Enter

Claude 的 transcript viewer 也有一组值得记:

快捷键作用
?显示快捷键帮助面板
{ / }跳到上一条/下一条用户 prompt
Ctrl+E切换显示全部内容
[把完整对话写回终端原生 scrollback,方便用终端搜索
v$VISUAL$EDITOR 打开临时文件查看对话
q / Ctrl+C / Esc退出 transcript view

如果你开启了 Vim editor mode,Claude Code 还支持不少 Vim 风格按键,例如 iaAoh/j/k/lwbddyypu 等。这个部分不建议所有人一上来就背。如果你本来就用 Vim,那它会很自然;如果你不用 Vim,先把上面的通用快捷键练熟就够了。

我自己的优先级

如果只给新手十个键,我会让他先记这些:

优先级快捷键原因
1Ctrl+C先学会打断,才敢让 AI 多做事
2Ctrl+L终端乱了不用慌
3Ctrl+R找回历史 prompt
4Up / Down复用上一轮输入
5/找到 CLI 内置能力
6!直接跑命令,不绕弯
7@精确引用文件
8Tab接受建议、排队下一步
9Alt+V粘贴截图给 AI
10Ctrl+G长 prompt 交给编辑器

这十个键背下来,基本就能从“会打开 CLI”变成“真的在终端里工作”。

为什么我更建议把 CLI 当主入口

Codex 和 Claude Code 都有编辑器里的使用方式。VS Code 插件很方便,能看当前文件、能点按钮、能在侧边栏里聊天,对刚开始的人确实友好。但如果长期把插件当主入口,很容易形成一种习惯:只在“编辑器能看见的那一小块代码”里使用 AI。

这会限制 AI 编程的上限。

插件最强的是“就地辅助”。比如解释当前函数、补一段代码、根据选中内容改写、处理一个很局部的 bug。这类场景里,图形界面确实舒服,点一下就能用,不需要记命令,也不需要切换窗口。

但真实项目的问题通常没这么干净。一个接口失败,原因可能在环境变量;一个测试挂了,原因可能在 fixture;一个构建错误,原因可能在锁文件、脚本、Node 版本、Python venv、系统依赖,甚至是终端里刚刚跑过的命令。插件如果只围着编辑器转,就很容易把问题看窄。

CLI 强的地方不是“更酷”,而是它天然站在工程现场:

维度编辑器插件CLI
上下文主要围绕当前文件、选区、打开的 tab当前目录、命令输出、日志、测试、脚本、文件系统都在同一层
执行命令往往要借助集成终端或额外确认命令就是工作流的一部分
复现问题容易停留在“看代码猜原因”可以直接跑、直接看输出、继续追
自动化更偏交互式辅助更容易进入脚本、管道、CI、本地工具链
注意力容易被 UI 面板、按钮、提示分散输入、输出、反馈都压缩在一个线性过程里
可迁移性依赖编辑器和插件生态换机器、换编辑器、远程服务器上都能继续用

还有一个细节很重要:CLI 会逼你把问题说清楚。插件里很多动作是点出来的,人容易偷懒;CLI 里你要写路径、写命令、写目标、写约束。这个过程本身就是工程思考。你越能清楚描述“我要改哪里、怎么验证、失败时看什么”,AI 的输出就越稳定。

我不是说不要用 VS Code 插件。我的建议是分工:

场景更适合用什么
解释当前选中代码插件
小范围补全、改一个函数插件
看 diff 后做局部调整插件或 CLI 都可以
跑测试、读日志、反复修 bugCLI
从需求推进到实现再到验证CLI
远程服务器、容器、SSH 环境CLI
写脚本、批处理、迁移、重构CLI

插件像副驾驶屏幕,CLI 更像驾驶位。副驾驶屏幕能提供信息,但方向盘、油门、刹车、仪表盘都在驾驶位。你如果一直只盯着侧边栏,会错过项目真正发生变化的地方。

所以我更愿意把插件当辅助,把 CLI 当主入口。先在 CLI 里完成任务闭环,再回到编辑器里做精修和阅读。这个顺序比“先在插件里聊,聊不动了再打开终端”更稳。

为什么我觉得终端才是编程的终点

这句话听起来有点绝对,但我的意思不是所有人都要抛弃 IDE。IDE 当然有价值,尤其是补全、跳转、调试、重构。但编程这件事最后总要回到几个更底层的问题:

代码在哪个目录?
依赖怎么装?
测试怎么跑?
日志怎么读?
环境变量怎么配?
失败以后怎么复现?
这些问题的答案大多数都在终端里。AI 编程工具越强,越不应该把人从终端带走,而应该让人更敢使用终端。因为终端不是“高手才用的黑窗口”,它是项目最真实的控制台。

Codex CLI 和 Claude Code CLI 的意义也在这里。它们不是把聊天框搬到命令行,而是把 AI 放进开发工作流本身。你可以让它读代码、改代码、跑命令、看输出、继续修,再让它解释为什么这么做。整个过程不需要离开当前目录。

快捷键只是入口。真正要练的是一种节奏:看到问题,定位文件,跑命令,给上下文,打断错误方向,继续推进。这个节奏一旦形成,终端就不再是工具列表里的一个选项,而是编程的主场。

参考资料

  • OpenAI Codex CLI features: https://developers.openai.com/codex/cli/features
  • Claude Code interactive mode: https://code.claude.com/docs/en/interactive-mode
Logo

Agent 垂直技术社区,欢迎活跃、内容共建。

更多推荐