Claude Code 终端快捷键怎么用:一份照着按就会的清单
按官方文档整理的 Claude Code 终端快捷键:中断、换行、改提示词、看执行过程、切权限模式,附 macOS 必做设置和常见按不出效果的原因。
一、Claude Code 是什么,快捷键又管什么
Claude Code 是 Anthropic 做的命令行 AI 编程工具:你在终端里打字提要求,它读代码、改文件、跑命令。它不是网页聊天框,所以鼠标基本用不上,几乎所有操作都靠键盘。
可以把它想成一个坐在你旁边、手很快的实习生。快捷键就是你拍他肩膀的那几种方式:停一下、说错了重来、给我看看你刚才干了啥、这次不用问我直接改。
二、开始前先做两件事,不然一半快捷键按不出效果
1. macOS 要把 Option 设成 Meta 键
官方明确写了:Alt+B、Alt+F、Alt+D、Alt+Y、Alt+P 这几个在 macOS 上需要先把 Option 配成 Meta,否则按下去没反应。设置在终端软件自己的偏好设置里,官方给了各终端的具体位置。
💡 例外:Option+T(开关扩展思考)在 macOS 上不用配 Meta 也能用。
2. 习惯 Bash 的人可以换一套编辑手感
默认的删词行为和 Bash 不一样。想要一致,在 ~/.claude/settings.json 里加一行:
{
"keybindingFlavor": "readline"
}
默认值是 classic,这个设置需要 Claude Code v2.1.238 或更新的版本。
差别有多大,官方给了个可以自己验证的例子:在输入框里打 fix the bug in src/utils/foo.ts,然后按 Ctrl+W。readline 下会删掉整个 src/utils/foo.ts,classic 下只删掉 foo.ts。
三、先背这几个:日常最常按的快捷键
| 快捷键 | 干什么 | 要注意的地方 |
|---|---|---|
Esc | 打断 Claude 当前的回答或工具调用 | 已经做完的部分会保留;有排队消息时,它接着发下一条 |
Esc Esc | 输入框有字就清空并存进历史;输入框是空的就打开回溯菜单 | 回溯菜单可以把代码和对话恢复到之前某个点 |
Ctrl+C | 中断正在跑的操作;没在跑就清空输入框,再按一次退出 | 和 Esc 的区别:它更像“急停加清场” |
Ctrl+D | 退出会话 | 输入框里有字时,它变成删除光标后一个字符 |
Ctrl+O | 开关 transcript(执行过程)视图 | 能看到每条回复用了哪个模型、调用了什么工具 |
Ctrl+L | 重画屏幕 | 画面花了、显示错位时用它,不丢历史 |
Ctrl+R | 反向搜索历史提示词 | 再按一次跳到更早的匹配项 |
Ctrl+B | 把正在跑的命令或子智能体丢到后台 | 用 tmux 的人要按两下,因为 tmux 自己占了这个键 |
Ctrl+Z | 挂起 Claude Code | 仅 Unix;回来输 fg |
⚠️ Ctrl+T 有两个完全不同的含义:在正常界面里是开关 Claude 的待办清单,在 /theme 菜单里才是开关代码高亮。想看后台正在跑的命令和子智能体,用 /tasks 命令,不是 Ctrl+T。
四、改自己打的字:输入框编辑键
这一组和 Bash 命令行基本同源,会一个就会一片。
| 快捷键 | 干什么 |
|---|---|
Ctrl+A / Ctrl+E | 光标跳到当前行首 / 行尾 |
Ctrl+K / Ctrl+U | 删到行尾 / 删到行首 |
Ctrl+W | 删掉前一个词 |
Ctrl+Y | 把刚才删掉的内容粘回来 |
Alt+Y(紧跟在 Ctrl+Y 之后) | 在之前删过的内容之间轮换 |
Alt+B / Alt+F | 光标往前 / 往后跳一个词 |
Alt+D | 删掉后一个词 |
Ctrl+_ 或 Ctrl+Shift+- | 撤销上一次输入编辑 |
上面这些删除动作都会把内容存起来,所以删错了不用重打,按 Ctrl+Y 就回来了。macOS 上 Option+Delete 也能删前一个词,Windows 上是 Ctrl+Backspace。
1. 提示词太长,直接丢到编辑器里写
按 Ctrl+G(或 readline 原生的 Ctrl+X Ctrl+E),Claude Code 会用你的默认文本编辑器打开当前提示词。写完保存就带回来。
在 /config 里打开 Show last response in external editor,它还会把 Claude 上一条回复以 # 注释的形式放在提示词上方当参考,保存时这段注释会被自动去掉。
2. 话说到一半想先问别的
按 Ctrl+S:输入框里的内容被暂存起来、框子清空;等会儿在空输入框上再按一次 Ctrl+S,文字、光标位置、粘贴内容原样回来。
五、怎么在提示词里换行而不发送
打完一行想换行,直接按 Enter 就发出去了。官方给了四种换行方式:
| 方式 | 按键 | 什么时候用 |
|---|---|---|
| 转义换行 | \ • Enter | 所有终端都能用,记不住就记这个 |
| Option 换行 | Option+Enter | macOS 上配好 Option as Meta 之后 |
| Shift 换行 | Shift+Enter | iTerm2、WezTerm、Ghostty、Kitty、Warp、Apple Terminal、Windows Terminal 原生支持 |
| 控制字符 | Ctrl+J | 任何终端都能用,不用任何配置 |
贴代码块和日志时直接粘贴即可,不用手动换行。
六、几个符号,其实也是快捷键
在输入框里,这几个字符打下去会直接触发功能:
/开头:调出命令和技能菜单,接着打字母可以过滤。!开头:进入 shell 模式,命令直接执行,输出会进入对话上下文,Claude 还会针对输出回你一句。不想让它自动回应,把respondToBashCommands设成false。@:文件路径补全。开了跨会话消息功能时,在@后面打至少一个字母,还会列出你这台机器上其他活着的会话。::emoji 短代码,打完整的:name:直接插入,打两个以上字符出候选。需要 v2.1.217 或更新版本。- 空输入框按
?:调出快捷键帮助面板。输入框里已经有字时,它就只是个普通问号。
✅ 忘了按键怎么办:空输入框按问号看帮助面板;在 transcript 视图(全屏渲染模式下)也按问号看那一层的快捷键。这两个入口能救掉大部分“我记不住”。
七、权限模式和模型,也能一键切
1. Shift+Tab 轮换权限模式
按 Shift+Tab 在几种模式之间循环:default(界面上显示为 Manual)、acceptEdits、plan,以及在可用时的 bypassPermissions 和 auto。从 auto 再按一下会回到 default。
在 Windows 上,如果 Node 或 Bun 运行时没启用 VT 输入模式,用 Alt+M 代替。
大白话是:不想每改一个文件都被问一次,就切到 acceptEdits;只想让它先出方案别动手,就切到 plan。
2. Option+P 换模型,Option+T 开关扩展思考
Windows 和 Linux 上是 Alt+P 和 Alt+T。换模型不会清掉你已经打好的提示词。另外 Option+O(Alt+O)用来开关 fast mode。
八、Vim 模式:习惯 vim 的人值得开
在 /config → Editor mode 里打开。切到 transcript 视图或打开 /config 面板再回来,模式和光标位置都保留。
1. 模式切换和常用动作
| 按键 | 作用 |
|---|---|
Esc 或 Ctrl+[ | 回到 NORMAL 模式 |
i / I / a / A | 光标前 / 行首 / 光标后 / 行尾插入 |
w / b / e | 下一个词 / 上一个词 / 词尾 |
0 / $ / ^ | 行首 / 行尾 / 第一个非空字符 |
dd / dw / D | 删整行 / 删一个词 / 删到行尾 |
cc / cw / C | 改整行 / 改一个词 / 改到行尾 |
yy / p / u / . | 复制行 / 粘贴 / 撤销 / 重复上次修改 |
v / V | 字符级 / 行级可视选择 |
文本对象也支持:iw、aw、i(、i{ 这些配合 d、c、y 用。
2. 两个容易踩的点
1)不支持 Ctrl+V 块选择模式,官方文档里直接写明了。
2)NORMAL 模式下光标已经在开头或结尾时,j/k 和方向键会转去翻历史提示词,而不是继续移动光标。
想用 jj 回 NORMAL 模式的,在 ~/.claude/settings.json 里加:
{
"editorMode": "vim",
"vimInsertModeRemaps": { "jj": "<Esc>" }
}
只支持把两个可打印字符映射到 Escape,需要 v2.1.208 或更新版本。这个设置只从用户级配置读取,项目里的 .claude/settings.json 会被忽略——也就是说,你 clone 下来的仓库改不了你的按键。
九、这些事快捷键做不到
- 快捷键在不同平台和不同终端上表现可能不一样,官方在文档开头就写了这句话。按不出来先怀疑终端,而不是怀疑自己。
- 没配 Option as Meta 时,macOS 上所有 Alt 组合键基本都是哑的。
- tmux 用户的
Ctrl+B会被 tmux 自己吃掉一次,所以要按两下。 - 词编辑类按键(
Ctrl+W、Alt+F这些)不能在keybindings.json里改键位,它们不属于可重映射的动作,只能通过keybindingFlavor换整套行为。
十、常见问题
1. Esc 和 Ctrl+C 到底按哪个?
想让它停下来但保留已完成的工作,按 Esc。想彻底中断、顺便清空输入框,按 Ctrl+C;没有任务在跑时连按两次 Ctrl+C 会退出程序。
2. 按回车老是提前发送,怎么办?
用 \ + Enter,所有终端都支持。终端在支持列表里的话,Shift+Enter 更顺手;都不行就用 Ctrl+J。
3. 想找上周用过的那条提示词?
按 Ctrl+R 反向搜索,输关键词,再按 Ctrl+R 往更早翻。Tab 或 Esc 接受并继续编辑,Enter 直接执行。历史按工作目录分开存,同一个项目的旧会话提示词也能翻到。
4. 想看它刚才到底调了哪些工具?
按 Ctrl+O 打开 transcript 视图。里面会展开默认折叠的行,比如显示成一行 Called slack 3 times 的 MCP 调用。退出按 q、Ctrl+C 或 Esc。
5. 排队发出去的消息能撤回吗?
能。Claude 在忙时你打字按回车会进队列,此时在输入框第一行按 Up,排队的内容会被取回到输入框里,一条一行,可以改也可以清掉。
十一、下一步做什么
今天先只练三个:Esc(打断)、Ctrl+O(看过程)、\ + Enter(换行)。这三个用熟了,再回头把 macOS 的 Option as Meta 配好,把 Alt 那一组解锁。
最后提醒一次:Claude Code 更新很快,本文对应的是 2026 年 9 月 4 日的官方 Interactive mode 文档。发现按键对不上时,以官方页面和你本地的帮助面板为准。