Claude Code 全部快捷键详解:从输入编辑到模式切换

Claude Code 所有键盘快捷键的完整参考:会话控制、模式切换、输入编辑、历史记录、IDE 集成与终端兼容性问题。

这篇讲什么

Claude Code 所有键盘快捷键的完整参考:会话控制、模式切换、输入编辑、历史记录、IDE 集成与终端兼容性问题。

本文涉及的工具 / 概念:

  • Claude Code: Anthropic 推出的命令行 AI 编程 agent,能在你的终端里读、写、运行项目代码。
  • Claude: Anthropic 的对话式 AI 助手,类似 ChatGPT,支持文件、长文档和工具集成。

这篇适合谁看

已经能跑通 claude 命令、但想把双手留在键盘上、把”找按键”变成”按下就行”的开发者。如果还没装好 Claude Code,先看 Claude Code 新手指南 再回来。

什么时候适合用

  • 长 prompt 写多了想用 readline 风格快速改写。
  • 想在”规划”、“自动接受编辑”、“默认审查”几种权限模式之间快速切换。
  • agent 跑偏想立即中断、回滚一步、保留有用产出。
  • 切换终端(iTerm2、Apple Terminal、VS Code、JetBrains、Warp)后某个键不响应,需要排查。

开始前准备

  • 进入会话后先按 ?,把当前环境实际生效的快捷键看一遍——本文给的是常见组合,但不同版本和终端可能有差异。
  • 如果 Shift + Enter 不能换行,先运行 /terminal-setup,让 Claude 自动写入终端配置。
  • macOS 用户在 iTerm2 / Apple Terminal 把 Option 配成 Meta(或 Esc+),否则 Option + 字母 类组合全部会失效。

会话级控制

快捷键作用什么时候用
?显示当前环境的快捷键帮助忘了按键、换了终端、刚装好时先看
Ctrl + C取消当前输入;连续两次退出会话想清空输入框,或彻底结束 Claude Code
Ctrl + D在空输入时退出会话一行命令搞定退出,比 Ctrl + C 两次更快
Esc中断 Claude 当前回复或工具调用想保留已完成部分,但马上改方向
Esc 然后再按 Esc打开 rewind / checkpoint 菜单回到前面某次工具调用、撤销一段代码或会话状态
Ctrl + L重绘终端屏幕输出残影、字符错位、被外部 log 打乱时
Ctrl + Z把整个 Claude 进程挂到后台临时切回 shell 干别的;用 fg 回到 Claude
Ctrl + B把当前任务放到后台继续跑长 agent 任务不想占住主界面
Ctrl + T显示 / 隐藏后台任务列表同时有 subagent、后台命令、长任务时查看进度

EscCtrl + C 的区别要记牢:Esc 只中断当前一轮,已写的代码、读到的文件还在上下文里;Ctrl + C 会清空当前输入框。

权限模式切换

快捷键作用
Shift + Tab在权限模式之间循环切换

常见模式(具体名字以你菜单显示为准):

  • Default / Ask:每个写入操作都向你确认。第一次跑陌生任务用这个最安全。
  • Auto-accept edits:自动接受文件编辑,但 Bash 仍要确认。重构、批量改文件、跑测试循环时省心。
  • Plan mode:只读、只规划,不允许写文件。让 Claude 先想清楚再动手时用。
  • Bypass / YOLO:跳过几乎所有确认。只在隔离环境(worktree、容器、一次性目录)才考虑。

Shift + Tab 按一次切一档。如果搞不清楚当前在哪一档,看输入框边上或顶部的状态指示。

输入编辑(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 #教程