Claude Code 快捷键完整参考(2026 版)

对照官方文档逐条核实的 Claude Code 快捷键(2026 年 6 月):6 种权限模式、Esc/Esc 回滚、readline 编辑、自定义键位、vim 模式与终端排错。

一句话速记。 第一天就能回本的五个键:Esc 在不丢上下文的前提下中断 Claude,Esc Esc 清空草稿(输入框为空时则打开回滚菜单),Shift + Tab 切换权限模式,Ctrl + R 反向搜索 prompt 历史,Ctrl + O 切换 transcript 查看器。下面其余的都是长尾,均对照 Claude Code 官方的 interactive-mode 和 permission-mode 文档核实到 2026 年 6 月。任意会话中按 ?(全屏渲染下)可看到你这套环境实际生效的键位,跑 /keybindings 即可改键。

Claude Code 是 Anthropic 的命令行编程 agent,能在终端里读、写、运行代码,只跑 Anthropic 自家模型(2026 年 6 月为 Opus 4.7 和 Sonnet 4.6)。因为它就活在终端里,只要你别再去摸鼠标,几乎一切都只差一个按键。本文面向已经能跑通 claude、想把双手留在键盘上的开发者。如果还没装好,先看 Claude Code 新手指南,再回来。

三条能避开九成”这个快捷键坏了”工单的初始设置:

  • Shift + Enter 现在在 iTerm2、WezTerm、Ghostty、Kitty、Warp、Apple Terminal、Windows Terminal 里原生换行。在 VS Code、Cursor、Alacritty、Zed 里则需先跑一次 /terminal-setup 装上键位。
  • macOS 上 Option + 字母Alt + 字母 这类组合需要把 Option 配成 Meta(或 “Esc+”)。一个例外:从 Claude Code v2.1.132 起,Option + T(切换 extended thinking)在 macOS 上无需此配置即可用。
  • 在 transcript 查看器(全屏渲染)里按 ? 确认你这个版本实际带哪些键。版本和终端之间确实有差异,所以请把官方的 ? 面板和 Claude Code interactive-mode 文档当作权威依据,本文当作带注解的对照地图。

会话级控制

快捷键作用什么时候用
Esc中断 Claude 当前回复或工具调用中途改方向;已完成的产出仍留在上下文里
Esc Esc清空输入草稿(存入历史),输入框为空时则打开回滚菜单抹掉打了一半的 prompt,或把代码和会话回滚到之前的 checkpoint
Ctrl + C中断运行;空闲时第一下清空输入,第二下退出停止运行、清空输入框,或彻底退出
Ctrl + D退出会话(EOF)一键退出,比 Ctrl + C 按两次省事
Ctrl + O切换 transcript 查看器查看完整工具调用;展开被折成一行的 MCP 调用
Ctrl + L重绘终端屏幕显示残影或局部空白时;历史会保留
Ctrl + T显示 / 隐藏任务列表多步任务时查看待办 / 进行中 / 已完成(最多显示 5 条)
Ctrl + B把当前任务放到后台长 agent 或 shell 任务不想占住界面(tmux 需按两下)
Ctrl + X Ctrl + K关掉本会话所有后台 subagent3 秒内按两次确认
Ctrl + GCtrl + X Ctrl + E$EDITOR 里打开当前 prompt用真正的 Vim / VS Code 编辑长 prompt,存盘即发送
Ctrl + Z把整个进程挂到 shell 后台临时切回 bash 干别的;用 fg 回来

EscCtrl + C 的区别要记牢:Esc 只中断当前一轮,已写的代码、读到的文件还在上下文里。而双击 Esc 现在会看情况:输入框里有字就清掉那段草稿(用 Up 找回);输入框为空则打开 rewind / checkpoint 菜单,让你把代码和会话恢复到更早的某个点。

权限模式切换

Shift + Tab 是 Claude Code 里最值钱的一个键。按一次切一档,当前模式显示在状态栏。截至 2026 年 6 月,官方文档定义了六种权限模式,但默认循环里只有三种:

Shift + Tab 循环无需确认即可执行适合
default仅读取敏感任务;逐个动作审查
acceptEdits读取、文件编辑,以及工作目录内常见文件系统命令(mkdirtouchrmmvcpsed改完用 git diff 整体复查的迭代
plan仅读取,然后产出一份书面计划让 Claude 动手前先把代码库摸清楚

另有三种模式,只有在启动时显式开启才会进入循环,或干脆从不出现:

  • auto——2026 年的重头新增。Claude 不再逐步确认,但有一个独立的分类器模型在每个动作执行前先审一遍,挡掉危险操作:curl | bash、强推 main、云端批量删除、把密钥发往陌生端点等。满足条件后它才会进入循环(Claude Code v2.1.83+,Sonnet 4.6 / Opus 4.6+;Team 和 Enterprise 需管理员先开启)。它目前是研究预览,不等于安全保证。
  • dontAsk——自动拒绝所有不在 allow 规则里的动作。从不进循环;用 claude --permission-mode dontAsk 设置,适合锁死的 CI。
  • bypassPermissions——跳过一切检查(即旧称的”YOLO”)。只有以 --dangerously-skip-permissions--permission-mode bypassPermissions 启动后才出现。仅在隔离的容器或虚机里用,它对 prompt 注入毫无防护。想要”免确认但有安全网”,请用 auto 而非它。

一个实用习惯:陌生仓库留在 default,要整体复查的重构切到 acceptEdits,想逼 Claude 先想再写就用 plan。注意:除 bypassPermissions 外,任何模式(包括 acceptEdits)都不会自动写入 .git.zshrc.claude 这类受保护路径。

输入编辑(readline 风格)

Claude Code 的输入框沿用了 readline / Emacs 风格,所有在 bash、zsh 里好用的快捷键,这里基本都能用。

快捷键作用
Ctrl + A跳到行首
Ctrl + E跳到行尾
Ctrl + F / 向右移一个字符
Ctrl + B 在输入框中 / 向左移一个字符(注意:Ctrl + B 在非输入态是放后台)
Alt + F / Option + →向右跳一个词
Alt + B / Option + ←向左跳一个词
Ctrl + K删除从光标到行尾
Ctrl + U删除从光标到行首
Ctrl + W删除前一个词
Alt + D删除后一个词
Ctrl + H / Backspace删除前一个字符
Ctrl + Y粘回最近一次删除的文本(kill ring)
Ctrl + T 在输入框中交换前后两个字符

注:Ctrl + T 既是输入态的”换字符”,又是会话态的”任务列表”。Claude Code 会根据焦点判断该走哪种行为。

多行输入

输入作用兼容性
Shift + Enter换行大多数现代终端,配置后可用
Ctrl + J换行几乎所有终端通用
\ 然后 Enter换行任何终端都能用,最稳
Option + Enter换行iTerm2 / Apple Terminal 把 Option 设为 Meta 后可用
直接粘贴多行自动保留换行终端要开启”括号粘贴 / bracketed paste”

如果 Shift + Enter 不响应:跑 /terminal-setup;再不行就改用 \ + Enter,不要纠结。

写多段需求、贴日志、列 checklist 时优先用多行输入,不要把整段揉成一行——Claude 会更容易抓重点。

历史记录与重用

快捷键作用
上一条历史输入(在多行内则是上移光标)
下一条历史输入(在多行内则是下移光标)
Ctrl + R反向搜索历史输入
Ctrl + P / Ctrl + N等价于 /
/resume列出可恢复的会话并选择

Ctrl + R 配合关键词最实用:写过一段 200 行的迁移 prompt?敲 Ctrl + R 然后输 migration,比翻文档快。

引用文件、命令与 shell

输入作用
@ + 路径引用文件或目录,按 Tab 自动补全
/ 放在开头打开命令 / skill 菜单
! 放在开头进入 shell 模式,命令输出会带回上下文
# 放在开头写一条 memory(追加到 CLAUDE.md 或用户级 memory)
拖拽文件到终端把文件路径塞进输入
粘贴图片多数终端会作为图片上传给 Claude

@Tab 是协同的:先 @,再敲首字母,再 Tab,会按目录层级补全。比硬记路径快得多。

! 不只是”我自己跑一条命令”,而是”让 Claude 看到这条命令的输出”。!git status!npm test!ls -la dist 都是常见模式。

macOS 上的模型与模式切换

下列快捷键依赖 Option 被配置为 Meta(iTerm2: Profiles → Keys → “Esc+“;Apple Terminal: Settings → Profiles → Keyboard → “Use Option as Meta key”)。

快捷键作用
Option + P切换主模型(Opus / Sonnet / Haiku 等)
Option + T切换 thinking 强度
Option + O切换 fast mode(在支持的 Opus 版本上更快出字)
Option + M调出 memory / CLAUDE.md 编辑

按下没反应基本两种原因:Option 没配成 Meta;当前版本没有这个快捷键。先按 ? 确认。

macOS 终端层快捷键

下面这些是终端 App 自带的,不属于 Claude Code,但你在跑 Claude Code 时几乎每天都会用到。把这一节放在身边,能省掉一半”鼠标点点点”的动作。

通用 macOS 终端

快捷键作用什么时候用
Cmd + C复制选中文本拷贝 Claude 输出、错误信息、生成的命令
Cmd + V粘贴把日志、代码、链接贴回 Claude
Cmd + K清屏并清空 scrollback审 diff 前想要一块干净屏幕
Cmd + T新开一个标签同时跑两个 claude 会话或一边跑 npm run dev
Cmd + W关闭当前标签或窗口会话跑完直接关
Cmd + N新开一个终端窗口想要独立窗口而不是标签
Cmd + 1Cmd + 9切到第 N 个标签多会话时快速跳转
Cmd + Shift + [ / ]上一个 / 下一个标签顺序遍历标签
Cmd + + / Cmd + -放大 / 缩小字号长 prompt 看不清时临时放大;演示时投屏
Cmd + 0字号还原改完调回默认
Cmd + F在 scrollback 里搜索翻找前面 Claude 的输出,不一定要靠 Ctrl + R
Cmd + Q退出终端 App注意:会同时关掉所有正在跑的 claude 会话
Cmd + H隐藏终端窗口agent 跑长任务时把屏幕让给别的工作
Cmd + M最小化窗口同上
Cmd + Tab切换 App等 Claude 跑长任务时切走
Cmd + ~在同一 App 的多个窗口之间切换同时开多个终端窗口时跳转
Fn 连按两下启动 macOS dictation不想打字时口述 prompt(多数终端 App 支持)
Cmd + .取消(部分终端把它映射成 Ctrl + C偶尔在某些 GUI 终端代替 Ctrl + C

Cmd + KCtrl + L 都能”让屏幕干净”,但语义不同:Cmd + K 清掉 scrollback(往上翻不到),Ctrl + L 只是重绘当前帧(往上翻还在)。审 diff 前用 Cmd + K,跑 agent 中途用 Ctrl + L

iTerm2 专属

快捷键作用
Cmd + D垂直分屏(左右)
Cmd + Shift + D水平分屏(上下)
Cmd + Option + ↑ / ↓ / ← / →在分屏面板之间切换
Cmd + Shift + Enter当前面板临时全屏 / 还原
Cmd + ;自动补全曾经敲过的命令
Cmd + Shift + H历史粘贴板
Cmd + Option + BInstant Replay(回放终端)
Cmd + R清屏(iTerm2 别名)
Cmd + Shift + S把当前会话存成 .txt

iTerm2 分屏特别适合”左边 Claude 在跑、右边自己看 log / 跑测试 / 改 prompt 草稿”。

Warp 专属

快捷键作用
Cmd + PCommand Palette
Cmd + RWorkflow 搜索
Ctrl + R命令历史搜索
Cmd + D / Cmd + Shift + D分屏
Cmd + EnterAI Command Suggest(如启用)
Cmd + Shift + B跳到上一个 block

Warp 的 block 模式遇到 claude 这种全屏交互式 UI 会自动让出渲染。如果 UI 错乱,先跑 /terminal-setup;还不行就把 Warp AI 输入提示临时关掉,或者换 iTerm2。

Apple Terminal 专属

快捷键作用
Cmd + I当前会话 Inspector(改光标颜色、标题等)
Cmd + S把 scrollback 存成文件
Cmd + Shift + N新窗口(带当前 profile)
Cmd + Option + 方向键在标签之间跳转

Ghostty / Alacritty / Kitty 用户

这几个终端的默认快捷键和 iTerm2 不完全一样,但都遵循”Cmd + 字母”惯例。它们的优点是对 ANSI/真彩色/Unicode 支持更稳——跑 Claude Code 几乎不需要 /terminal-setup。具体键映射请按 Cmd + , 打开偏好查阅。

让 macOS 修饰键和 Claude Code 协同

如果你切了一次终端、Option + 字母 全失灵了,95% 是这里的设置:

  • iTerm2:Settings → Profiles → Keys → “Left/Right Option key” 改成 Esc+
  • Apple Terminal:Settings → Profiles → Keyboard → 勾 Use Option as Meta key
  • VS Code 内置终端:把 terminal.integrated.macOptionIsMeta 设为 true
  • JetBrains 内置终端:Settings → Tools → Terminal → 勾 Option as meta key
  • Warp / Ghostty / Kitty:默认就把 Option 当 Meta,多数情况不用动。

设置改完不用重启 Claude Code,但需要新开一个终端会话才会生效。

VS Code / JetBrains 集成

装了 Claude Code IDE 扩展后,常用:

快捷键作用
Cmd + Esc (mac) / Ctrl + Esc (Win/Linux)启动或聚焦 Claude Code 面板
Cmd + Alt + K / Ctrl + Alt + K把当前选中的代码作为引用插入到 Claude 输入框
在 diff 视图按 Cmd + S接受 Claude 的修改
在 diff 视图按 Cmd + Z撤销最近一步

IDE 集成的真正价值是 diff 体验和”选中代码 + 一句话”的快速反馈,比纯终端粘代码更快。

终端兼容性速查

按”先看症状再排查”的顺序:

  1. Shift + Enter 不换行 → 跑 /terminal-setup;不行就用 \ + Enter
  2. Option + 字母 没反应 → 终端 Option 没配成 Meta。
  3. 粘贴时格式错乱、所有换行变空格 → 打开 bracketed paste(iTerm2 默认开;Apple Terminal 有时被禁用)。
  4. 拷贝粘贴乱码 → 终端编码不是 UTF-8。
  5. Ctrl + 字母 被系统拦截(如 Ctrl + T 被新标签页吃了)→ 换终端,或在终端设置里关掉冲突的全局快捷键。
  6. JetBrains 里 IDE 集成没反应 → 检查 Claude Code 插件是否启用,再确认 claude 在 PATH 里。

实操:把快捷键肌肉记忆下来

  1. 第一周只强制自己用三个:Esc(中断)、Shift + Tab(切模式)、Ctrl + R(搜历史)。
  2. 第二周加上输入编辑三件套:Ctrl + ACtrl + ECtrl + W
  3. 第三周再加 Esc + Esc(rewind)和 Ctrl + T(任务列表)。
  4. 最后练 @ 引用 + ! shell + # memory,把”敲长 prompt”逐步替换成”一行内拉进上下文”。

不要一上来背全表。每周固定三个,按真实任务用出去,比看十次表都管用。

完成后检查

  • 是否还在用鼠标点输入框中间——如果是,说明 Ctrl + A / Ctrl + E 没养成习惯。
  • 是否还在 retry 一个跑偏的 agent——Esc + Esc 回滚一步通常比让它继续硬拼更省时间。
  • 是否所有写入都在 ask 一次确认——可以考虑 Shift + Tab 切到 auto-accept,仅在隔离工作树里这么做。

容易踩的坑

  • 按了 Ctrl + C 两次直接退出会话,丢掉了刚生成的内容——用 Esc 中断这一轮就够。
  • 在 plan 模式下让 Claude “写代码”,结果它说写不了:那是因为权限模式没切回去,Shift + Tab 一下即可。
  • macOS 上 Option + P 等没反应,又怀疑 Claude Code 坏了——99% 是 Option 没配成 Meta。
  • 不知道当前能用哪些命令,凭印象敲 /foo 全是错的——直接按 / 看菜单,按 ? 看快捷键。
  • 把整段需求塞成一行——用 \ + EnterCtrl + J 写多行,Claude 抓重点更准。

FAQ

Q:Esc 和 Ctrl + C 在 Claude Code 里有什么区别? A:Esc 只中断当前一轮,已写的代码、读到的文件、上下文都还在。Ctrl + C 会清空当前输入框,连续按两次直接退出会话。要保留上下文只换方向用 Esc,要重写整段输入用 Ctrl + C。

Q:Esc + Esc 是干什么的? A:打开 rewind / checkpoint 菜单,让你回到之前某一次工具调用或会话状态——撤销一段代码改动或会话漂移的最快办法。agent 跑偏时通常 Esc + Esc 回滚一步比让它继续硬拼更省时间。

Q:macOS 上 Option + P / T / O 没反应? A:99% 是终端 Option 没配成 Meta。iTerm2 在 Profiles → Keys 改成 “Esc+”;Apple Terminal 在 Profiles → Keyboard 勾 “Use Option as Meta key”;VS Code 设 terminal.integrated.macOptionIsMeta: true。改完新开一个终端会话生效。

Q:Shift + Enter 不换行怎么办? A:先跑 /terminal-setup 让 Claude 自动写入终端配置。还不行就改用 \ 然后 Enter,或 Ctrl + J——这两个在任何终端都能用,不必纠结 Shift + Enter。

相关阅读

标签: #Claude #Claude Code #教程