Claude Code 交互模式与快捷键详解
Claude Code 交互模式与快捷键详解
Claude Code 的交互体验很大程度上取决于你是否熟悉它的快捷键和命令体系。本文系统梳理交互模式中最常用的快捷键、斜杠命令、活跃前缀、排队消息机制以及终端配置要点,帮助你更高效地使用 Claude Code。
先记住这 8 个键
如果只记 8 个快捷键,建议记以下这些:
| 键 | 作用 | 典型场景 |
|---|---|---|
Esc |
打断当前回复 | 发现方向错了,立即停止 |
Esc Esc |
空输入时打开回滚菜单 | 回到之前的某一步 |
Shift+Tab |
循环切换权限模式 | 减少权限确认弹窗 |
Ctrl+C |
第一次清空输入 / 第二次退出 | 重新输入或退出程序 |
Ctrl+D ×2 |
退出 | 结束当前会话 |
Ctrl+O |
展开/收起工具调用详情 | 查看 Claude 正在执行什么 |
Ctrl+G |
用外部编辑器写提示词 | 需要输入大段文本时 |
@ |
引用文件 | 让 Claude 读取指定文件 |
通用控制快捷键
| 快捷键 | 说明 |
|---|---|
Ctrl+C |
中断正在运行的操作。没有操作在运行时:第一次清空输入框,第二次退出。清掉的草稿可以用 ↑ 找回(v2.1.288+) |
Ctrl+X Ctrl+K |
停掉本会话所有后台子代理,并关闭 artifact 自动回复。3 秒内按两次确认 |
Ctrl+D |
第一次显示确认提示,800ms 内再按一次退出。输入框有内容时,Ctrl+D 变为删除光标后的字符 |
Ctrl+G / Ctrl+X Ctrl+E |
在默认文本编辑器里编辑提示词。在 /config 里打开 Show last response in external editor 后,Claude 的上一条回复会以 # 注释形式出现在上方,保存时会被剥掉 |
Ctrl+L |
重绘屏幕。显示错乱或半空白时使用,输入和对话历史都保留 |
Ctrl+O |
切换 transcript viewer:显示详细工具调用、每次调用的时间戳和模型;展开默认折叠的行(如 MCP 调用显示成一行 Called slack 3 times) |
Ctrl+R |
反向搜索命令历史 |
Ctrl+V / Cmd+V(iTerm2) / Alt+V(Windows/WSL) |
从剪贴板粘贴图片,插入 [Image #N] 标记 |
Ctrl+B |
把正在运行的任务放到后台(tmux 用户按两次) |
Ctrl+T |
显示/隐藏 Claude 的待办清单 |
Ctrl+S |
暂存/恢复输入框内容(连同光标位置、粘贴内容、输入模式) |
Ctrl+Z |
挂起(Unix),fg 恢复 |
← / → |
在权限对话框和菜单里切换 tab |
Tab |
接受自动补全建议;在权限提示的 Yes/No 上打开备注框 |
↑ / ↓ 或 Ctrl+P / Ctrl+N |
在输入框内移动光标;到首/末行后再按则翻命令历史 |
Esc |
打断当前回复/工具调用(已完成的工作保留)。有对话框时关闭对话框。在权限提示上等同于选 No |
Esc Esc |
输入框有内容时:清空并存入历史(↑ 可找回)。输入框为空时:打开回滚菜单 |
Ctrl+Enter / Ctrl+X Ctrl+S |
立刻发送排队的消息(v2.1.275+)。终端不报告扩展键时 Ctrl+Enter 等于普通 Enter,用 Ctrl+X Ctrl+S |
Shift+Tab |
循环权限模式:default → acceptEdits → plan →(可用时)bypassPermissions → auto → 回到 default |
Option+P / Alt+P |
切换模型,不清空输入框 |
Option+T / Alt+T |
开关扩展思考(对 Opus 5.5 / Sonnet 5.5 / Haiku 5.5 / Fable 无效,它们始终开启) |
Option+O / Alt+O |
开关 fast mode |
macOS 用户注意:
Alt+B、Alt+F、Alt+D、Alt+Y、Alt+P这些 Option 组合键需要先把终端的 Option 配置成 Meta。Option+T例外,无需配置。
文本编辑快捷键(readline 风格)
| 快捷键 | 说明 |
|---|---|
Ctrl+A / Ctrl+E |
行首 / 行尾 |
Ctrl+K |
删到行尾(删掉的文本可粘贴) |
Ctrl+U |
删到行首 |
Ctrl+W |
向前删除到上一个空白(一次删掉整个路径或 --flag=value) |
Ctrl+Y |
粘贴刚才删掉的文本 |
Alt+Y |
粘贴后循环剪贴环(需 Option as Meta) |
Alt+B / Alt+F |
按词左右移动 |
Alt+D |
删除到词尾 |
Ctrl+_ / Ctrl+Shift+- |
撤销上一次输入编辑 |
词边界规则:Alt+B、Alt+F、Alt+D、Option+Delete、Ctrl+Backspace 把字母和数字的连续串当作一个词,所以 _、.、/ 都是分隔符。例如 src/utils/foo.ts 连按 Alt+B 会依次停在 ts、foo、utils、src。而 Ctrl+W 不同:它忽略标点,删到上一个空白,一次删掉整个 src/utils/foo.ts。对于中文/日文这类无空格文本,Alt+B 等会一次移动或删除一个字。
多行输入
| 方法 | 快捷键 | 说明 |
|---|---|---|
| 最快 | \ 然后 Enter |
所有终端都支持 |
| Option | Option+Enter |
macOS 需先启用 Option as Meta |
| Shift | Shift+Enter |
iTerm2、WezTerm、Ghostty、Kitty、Warp、Apple Terminal、Windows Terminal 原生支持 |
| 控制序列 | Ctrl+J |
任何终端免配置 |
| 粘贴 | 直接粘贴 | 适用于代码块、日志 |
\ + Enter 是最保险的方式——不依赖终端配置,SSH 远程连接使用也一样。
活跃前缀:/、@、!
/ —— 命令与技能
输入 / 打开命令列表,继续打字过滤。列表里包含内置命令、自定义 skills、插件贡献的命令和 MCP 服务器贡献的命令。
命令可以写在句子中间,例如 先跑测试,然后 /com 会补全 /compact。但只有命令出现在消息开头时才会被执行。在句子中间按 Tab 也可以补全或打开列表。
/tmp/notes.md这种路径不会触发命令列表,因为命令名必须以那些字母开头,可以放心使用。
@ —— 引用文件
输入 @ 触发文件路径补全,选中后 Claude 会先读这个文件再回答。
检查 @src/auth/session.ts 的 token 刷新逻辑
@ 比口头描述文件位置精确得多,而且省了 Claude 自己找文件的几步。知道文件在哪,就用 @。
在启用了跨会话消息的会话里,@ 后面输入至少一个字母还会建议本机其他活跃会话,可以直接让 Claude 给它们发消息(v2.1.232+)。
! —— shell 模式
直接执行命令,不经过 Claude 决策:
! npm test
! git status
! ls -la
主要特点:
- 命令和输出都进入对话上下文
- 实时显示进度
- 支持
Ctrl+B放后台 - 不需要 Claude 批准
- 支持历史补全(打一半按
Tab) - 支持路径补全(输入含
/的片段,如./src/或~/) Esc/Backspace/Ctrl+U在空提示时退出 shell 模式- 往空输入框粘贴以
!开头的内容会自动进入 shell 模式
输出落地后 Claude 会自动回应,所以 ! npm test 之后你不用再问"这些失败是什么意思"。这个回应和普通提问成本一样。只想把输出放进上下文、不要回应,在 settings.json 设 respondToBashCommands: false。
shell 模式绕过了沙箱(沙箱只约束 Claude 执行的命令),即使你开了沙箱。你自己敲的命令后果自负。
# —— 已移除
v2.0.70 起,# 快速写记忆的快捷方式被删掉了。现在要加记忆就直接说:
记住:这个项目用 pnpm,不要用 npm
把「构建前先跑 lint」加到 CLAUDE.md
前者进 auto memory,后者明确进 CLAUDE.md。也可以在 /memory 里直接编辑文件。
: —— emoji
输入完整的 :name: 插入 emoji,输入两个以上字符给建议(v2.1.217+)。
空输入时按 ?
打开快捷键帮助面板。输入框有内容时,? 就是普通的问号。
排队消息:不打断也能纠偏
在 Claude 工作时,直接打字按 Enter——消息会排队,不会打断当前这一轮。排队期间,消息以灰色显示在对话里,你能看清哪些它还没开始处理。
发出时机
| 排的内容 | 发出时机 |
|---|---|
| 普通消息 | 如果排队时它在跑工具调用,工具调用一结束就在同一轮内读到;如果这一轮结束了还有排队,会按你输入的顺序自动发出 |
命令 / ! shell 命令 |
等这一轮结束,然后一条一条执行 |
想立刻发出去:Ctrl+Enter(或 Ctrl+X Ctrl+S)。
改主意
Esc:打断这一轮,保留排队内容并立刻发出。- 从输入框第一行按
↑:把排队内容收回输入框,一行一条,可以编辑后重新排队。
排队消息是 Claude Code 最被低估的交互设计。传统做法是"Esc 打断 → 打字 → 重发",会丢掉它已经做完的一半工作。排队相当于温和纠偏:让它把手头的工具调用做完,再读你的新指示。推荐大部分纠偏都用排队,只在方向彻底错误时才用 Esc。
三个立即生效的命令
/model、/effort、/fast 不会排队,发送即执行:
| 命令 | 生效时机 |
|---|---|
/model |
确认缓存警告后,本轮下一次请求就用新模型 |
/effort |
同上 |
/fast |
本轮保持开始时的设置,下一轮才生效 |
后台 Bash 命令
长时间任务(dev server、watch、大构建)不该卡住对话。两种放后台的方式:
把 npm run dev 放到后台跑
或对正在运行的命令按 Ctrl+B(tmux 用户两次)。
行为要点:
- 返回一个后台任务 ID
- 输出写到文件,Claude 用 Read 工具读取
- Claude Code 退出时自动清理
- 输出超过 5 GB 自动终止
- macOS/Linux 上,如果会话已空闲 ≥30 分钟且无任务在运行,系统报告严重内存压力时会停掉后台任务(
CLAUDE_CODE_DISABLE_BG_SHELL_PRESSURE_REAP=1可关闭) - 前台命令超时会自动转后台,而不是被杀(
sleep开头的除外)
查看后台任务:/tasks(这跟 Ctrl+T 的待办清单不是一回事)。
命令历史
- 历史按工作目录存储
↑能翻到同一项目之前会话的提示词/clear后是新会话,回忆时先列新会话的,再列更早的- 连续提交两次相同的提示词只记一条
- 回忆含粘贴内容的提示词时,会重新发送完整的粘贴内容
!的历史展开默认关闭Ctrl+R交互式反向搜索
找回清掉的草稿:刚用 Ctrl+C 清掉时,立刻在空输入框按 ↑ 即可。如果已经发了别的消息,↑ 往回翻,会话保留最近 10 个清掉的草稿(含粘贴文本和图片),退出时丢弃。
Vim 模式
通过 /config → Editor mode → vim 开启。
最常用的命令:
| 命令 | 动作 |
|---|---|
Esc / Ctrl+[ |
回 NORMAL |
i / a / A / I / o / O |
进入 INSERT 的各种方式 |
h j k l |
移动 |
w / b / e |
词移动 |
0 / ^ / $ |
行首 / 首个非空字符 / 行尾 |
gg / G |
输入开头 / 最后一行开头 |
f{char} / F{char} / t{char} / T{char} |
行内跳转,; , 重复 |
% |
跳到匹配的括号(v2.1.301+) |
x / r{char} / dd / D / dw / cw / cc / C |
编辑 |
yy / p / P |
复制粘贴 |
>> / << / J |
缩进 / 合并行 |
u / . |
撤销 / 重复上次修改 |
v / V |
字符/行可视选择 |
iw aw i" a" i( a( i{ a{ … |
文本对象 |
把 jj 映射成 Esc:
{
"editorMode": "vim",
"vimInsertModeRemaps": { "jj": "<Esc>" }
}
vimInsertModeRemaps 只从用户设置、--settings、managed settings 读取,项目里的 .claude/settings.json 会被忽略——防止别人 checkout 你的仓库就改掉你的按键。
注意:Ctrl+V 块选择不支持(它被占用为粘贴图片)。不喜欢 vim 也没关系,但装一个终端级别的 vi 键位(如 zsh 的 bindkey -v)会跟 Claude Code 的输入框冲突,二选一。
斜杠命令列表
按用途分组。完整列表随时看:输入 / 或 /help。
会话与上下文
| 命令 | 作用 |
|---|---|
/clear |
清空对话历史,重置上下文 |
/compact [焦点] |
压缩对话;可指定保留重点 |
/context |
查看上下文占用分类明细 |
/rewind |
打开回滚/总结菜单(同 Esc Esc) |
/btw <问题> |
边角问题,答案不进上下文 |
/autocompact <auto|100k–1M> |
设置自动压缩阈值 |
/export |
导出会话 |
/resume |
切换到其他会话 |
/rename |
重命名当前会话 |
/branch |
从当前点分叉出新会话 |
/exit |
退出 |
配置与账户
| 命令 | 作用 |
|---|---|
/config |
打开设置界面(模型、主题、编辑器模式、自动更新通道等) |
/model |
切换模型 |
/effort |
设置推理力度 |
/fast |
开关 fast mode |
/permissions |
管理权限规则、目录白名单 |
/sandbox |
沙箱设置 |
/hooks |
浏览已配置的 hooks |
/mcp |
管理 MCP 服务器 |
/plugin |
浏览/安装插件 |
/skills |
查看已安装 skills |
- 点赞
- 收藏
- 关注作者
评论(0)