Claude Code 实战入门(二):快捷键、四态切换、Thinking Mode

Shift+Tab 不是开关而是四态循环。Thinking Mode 有 5 档。Escape 和双击 Escape 做的事不同。五个会重塑日常手感的快捷键。

这些快捷键不在帮助里是有原因的——它们靠用出来发现,不靠文档。我还是写一遍。

Shift+Tab——四态循环

大多数人以为 Shift+Tab 是 auto-accept 的开关。不是。它按顺序循环四个状态:

Normal → Accept edits → Plan mode → Bypass permissions → Normal

每个状态改变 Claude 不问就做的事:

状态改变
Normal默认。文件写入和 shell 命令前都问。
Accept edits自动接受文件编辑。Shell 仍要确认。
Plan mode出计划但不执行。在产生副作用之前先看计划很有用。
Bypass permissions跳过所有确认。仅用于你信任的当前任务。

状态栏显示当前态。Shift+Tab 切换。没有"我用得最多"——它们对应不同任务。Plan mode 是开始一个未知改动时用;Accept edits 是长期重构时用,反正我在看输出;Bypass permissions 用于跑一个已知、限定的脚本——绝不盲用。

Thinking Mode——5 档

Prompt 里任何位置写下面一句,Claude 就改变它在回答前的推理深度:

短语大致工作量
think一点额外推理
think more多几秒
think a lot明显慢、明显深
think longer适合架构决策
ultrathink最高档

成本随深度上升——每档多吃 Token。正确档次取决于任务:

  • “改一个 typo”——不写
  • “找出这测试为什么 flaky”——think more
  • “重构这模块”——think a lot
  • “这块是不是该从 REST 切到 gRPC”——ultrathink

我对一切"非显然"任务的默认是 think a lot。比这低的我直接写 Prompt。比这高的,我是在问一个不同种类的问题,ultrathink 对此也很诚实。

陷阱是因为"显得严谨"就在每条 Prompt 上 ultrathink。它不严谨——只是贵。模型在与任务复杂度匹配的档次上表现最好。

Control+V——粘图

直接粘图到 Prompt。UI 截图、错误对话框、设计稿、白板照片——Claude 当文字读。最有用的版本是"测试挂了,输出在这截图里,问题是什么"。不用转抄。

Escape 与双击 Escape

Escape 中断当前生成。在你意识到刚才指令错了的瞬间按。Agent 停,你纠正。

双击 Escape(快速按两下)打开过去几轮的历史视图。选一轮"回滚"到那里,对话从那一点 fork 出来。被选轮之后的内容从上下文丢弃。

这是我用其它 Coding Agent 时最想念的特性。Fork 对话才是对的原语——让你试一条路、判断错了、回去而不污染 Agent 的记忆。

/compact/clear

处理长对话的两种方式:

  • /compact 把目前为止的对话压缩成一段更短的消息然后继续。当 Agent 因为上下文大开始变慢时用。
  • /clear 把对话整个丢掉重新开始。当你切到同一个项目里不相关的任务时用。

两个都保留 CLAUDE.md.claude/settings.json。只动本会话的消息历史。

实际工作流的样子

我今早一段真实流程:

> @src/api/handlers.ts
> think a lot —— 团队想给这文件里 3 个 POST handler 加幂等键。
> 给个方案,复用现有 middleware 模式。

[Claude 给方案——我读]

[Shift+Tab 切到 Plan mode]

> 好,把它写成计划,先别改。

[Claude 列步骤]

[Shift+Tab 切到 Accept edits]

> 干。

[Claude 改文件,我看着滚]

[Shift+Tab 切回 Normal,准备跑测试]

> 跑测试。

[Claude 停下来问——是的——跑——三过一挂]

[双击 Escape 回滚到跑测试之前]

> 挂的那个测试是测旧的非幂等路径的。改它,让它验证新行为。

这一整段流程把这一篇里每个原语都用上了。单看每个都不惊艳。合起来让 Claude Code 像个真工具,不是"包了 Chat 的自动补全"。

下一篇:自定义斜杠命令与 $ARGUMENTS

翻完了?

去 GitHub 关注一下,新一篇通常隔一周就到。

GitHub