Blog
Tutorials·19 min read

Claude Code 精通指南 第9篇:高手秘籍

区分普通用户和 Claude Code 大师的技巧。学习 ultrathink、git worktree、键盘快捷键,以及那些能大幅提升生产力的隐藏功能。

Jo Vinkenroye·January 15, 2026
Claude Code 精通指南 第9篇:高手秘籍

这些技巧把普通用户和 Claude Code 大师区分开来。有些是文档中记录的,有些是通过实验发现的,还有些来自对 Claude Code 包的反编译。

扩展思考:完整故事

我们在第2篇中首次介绍了扩展思考(Extended Thinking),但这里是完整的故事。

你可能听说过"ultrathink"和"think harder"。根据 Anthropic 的官方文档,以下是实际有效的方法。

Think 关键词层级

Claude Code 将特定短语映射到思考预算。这些是官方文档记录的触发词:

Think(约 4,000 tokens)— think

Megathink(约 10,000 tokens)— think hardthink deeplythink moremegathink

Ultrathink(约 32,000 tokens)— think harderthink very hardultrathink

ultrathink about how to architect this authentication system

预算越高,Claude 获得的"思维跑道"就越长,可以考虑更多方案、评估权衡,并发现边界情况。

Claude Code ultrathink 关键词高亮显示最大思考量指示器
Claude Code ultrathink 关键词高亮显示最大思考量指示器

2026 年 1 月更新

Claude Code 2.1 中有几个变化:

  • Opus 4.5 默认启用思考 — 复杂任务无需手动触发
  • 切换键从 Tab 改为 Alt+T — 避免意外激活
  • 实时思考显示 — 按 Ctrl+O 可以实时查看 Claude 的推理过程

何时使用各级别

ultrathink(约 32K tokens)— 架构决策、安全审查、复杂调试、任何你平时会开会讨论的事情

think hard / megathink(约 10K tokens)— 多文件重构、API 设计、棘手问题调试

think(约 4K tokens)— 快速分析、代码审查、理解不熟悉的代码

不用关键词 — 简单修复、拼写错误、日常任务——这些场景下扩展思考只会增加延迟

原则: 将思考预算与问题复杂度匹配。不要为修个拼写错误动用 ultrathink,也不要在做架构设计时跳过思考。

获取最新信息

Claude 的训练数据有截止日期。对于最新的库 API、近期框架更新或当前最佳实践:

使用 Context7 MCP 服务器: 获取实时的、特定版本的文档。设置方法见第7篇:MCP 服务器

"使用 context7 查找 React Query v5 的最新 API"

让 Claude 在线搜索: Claude 可以执行网络搜索获取最新信息。

"搜索 2026 年最新的 Supabase 认证模式"

这确保你使用的是最新的 API,而不是 Claude 训练数据中已过时的。

多窗口高级操作

不要等一个任务完成。同时运行多个 Claude Code 实例——每个在独立的终端中,每个有隔离的上下文。

声音通知:知道 Claude 何时完成

同时操作多个窗口时,你需要知道 Claude 何时完成而不用不停切换查看。启用终端铃声:

claude config set --global preferredNotifChannel terminal_bell

当 Claude 完成任务或需要输入时,你会听到提示音。不用再来回切换检查进度了。

想要更丰富的通知,在 ~/.claude/settings.json 中使用 Hook:

{
"hooks": {
"Notification": [
{
"matcher": "",
"hooks": [
{
"type": "command",
"command": "afplay /System/Library/Sounds/Ping.aiff"
}
]
}
]
}
}

这会在 macOS 上当 Claude 需要关注时播放提示音。Linux 上用 paplayaplay 代替。Windows 用户可以用 powershell.exe -c "[System.Media.SystemSounds]::Beep.Play()"

跨仓库工作:引用而不修改

在开发一个调用后端 API 的前端?不要同时在两个仓库中运行 Claude。改为给 Claude 从前端项目对后端的只读访问权限。

在前端的 .claude/settings.json 中:

{
"permissions": {
"additionalDirectories": ["../backend-repo/"],
"allow": [
"Read(../backend-repo/**)",
"Grep(../backend-repo/**)"
],
"deny": [
"Edit(../backend-repo/**)",
"Write(../backend-repo/**)"
]
}
}

现在 Claude 可以读取后端的 controller 和 model 来理解 API,但不会意外修改它们。你可以这样问:

"检查 ../backend-repo/src/controllers/ 中的用户端点,然后编写前端与之对接"

Claude 读取后端,理解 API 结构,但只写入你的前端项目。

同一项目,不同分支:Git Worktree

当你需要在同一个仓库中处理多个功能时,git worktree 让你在不同目录中检出不同分支:

# 为并行功能创建 worktree
git worktree add ../myproject-dashboard feature/user-dashboard
git worktree add ../myproject-notifications feature/email-notifications

现在你有:

myproject/ # main 分支
myproject-dashboard/ # feature/user-dashboard 分支
myproject-notifications/ # feature/email-notifs 分支

在每个目录中运行 Claude——完全隔离的会话,没有分支切换冲突。

为什么有效

  • 每个 Claude 会话有隔离的上下文
  • 只读访问防止意外的跨仓库修改
  • 你可以引用外部代码而不用担心被修改
  • 一个任务的上下文不会污染另一个

清理 Worktree

功能完成后:

cd myproject
git merge feature/dashboard
git worktree remove ../myproject-dashboard

截图和图片输入

Claude Code 可以看图片。直接把截图拖放到终端中。

工作原理

  1. 截个图(Mac 上按 Cmd+Shift+4)
  2. 把图片文件拖到 Claude Code 终端
  3. 提出你的问题

使用场景

UI 调试:

[拖入布局错误的截图]
这个布局有什么问题?按钮应该靠右对齐。

设计稿实现:

[拖入设计稿图片]
用 Tailwind CSS 实现这个设计

错误截图:

[拖入错误对话框截图]
这个错误是什么意思,怎么修复?

Mermaid 图表生成

让 Claude 创建可以在任何地方渲染的可视化图表。

架构图

生成一个 mermaid 图表展示这个应用的认证流程

输出:

在哪里渲染

  • mermaid.live — 带实时预览的在线编辑器
  • GitHub — 在 markdown 文件和评论中渲染 mermaid
  • VS Code — 使用 mermaid 预览扩展
  • Notion — 支持 mermaid 代码块

图表类型

创建一个 mermaid 流程图展示订单处理状态
生成数据模型的 mermaid 类图
做一个数据库 Schema 的 mermaid ER

记忆库模式

跨会话持久化上下文而不让 CLAUDE.md 膨胀。这与第2篇的文档 + /clear 策略很好地配合。

设置

创建一个 memory 目录:

mkdir -p .claude/memory

会话记忆文件

# .claude/memory/current-session.md
## 当前焦点
实现用户仪表板功能
## 已做决策
- 使用 React Query 进行数据获取(2024-01-15 决定)
- 图表库:Recharts(比 D3 更轻量,满足我们的需求)
- 状态管理:Zustand(团队已经熟悉)
## 阻塞中
- 等待移动端布局的设计评审
- 需要活动流的 API 端点
## 最近改动
- 添加了 DashboardLayout 组件
- 创建了 useUserStats hook
- 设置了 Recharts 用于使用量图表
## 下一步
1. API 就绪后实现活动流
2. 添加导出功能
3. 移动端响应式调整

使用记忆文件

开始会话时:

读取 .claude/memory/current-session.md 然后从上次离开的地方继续

会话结束时更新:

用今天的进展更新 .claude/memory/current-session.md

Token 优化技巧

省钱并提升响应质量。

优先使用 /clear 而非 /compact

2026 年 1 月更新: /compact 现在即时完成(v2.0.64+),自动压缩在 75% 容量时触发。也可以试试 /context 在压缩前检查 MCP 服务器的使用情况。

正如我们在第2篇中介绍的,/compact 看起来很诱人但有风险。摘要过程是不透明的——你不知道什么被保留了,什么丢失了。

大多数时候,/clear 更好:

  • 开始新的内容
  • 不到一半的上下文是相关的
  • 你可以轻松重新建立重要的内容

如果必须用 /compact,请引导它:

/compact 重点保留认证流程和数据库 Schema 的决策

引用,别粘贴

差(浪费 Token):

这是代码:
[粘贴 500]
修复其中的 bug

好(高效):

修复 src/auth/login.ts 大约第 45 行附近的 bug

Claude 会自己读取文件,只加载需要的内容。

进阶技巧:VS Code 中复制路径。 右键任意文件 → Copy Relative Path(或 Cmd+Shift+Alt+C)。粘贴精确路径而不是手打。没有拼写错误,没有歧义——对深层嵌套文件或多个同名文件特别有用。结合行号实现精准定位:src/auth/login.ts:45-60

文档 & 清理模式

2026 年 1 月更新: 这已经内置到 Plan Mode 中了。当你接受一个计划时,Claude 会自动清除上下文并全新加载计划。如果你更喜欢保留上下文,可以选择退出。

对于复杂的多会话工作,使用显式的文档记录:

"把我们的进展和剩余 TODO 保存到 docs/feature-plan.md"
/clear
"读取 docs/feature-plan.md 然后从上次继续"

你完全控制什么被保留。不用猜测摘要器保留了什么。

模型切换策略

不同任务用不同模型。

各模型适用场景

Opus($$$)— 复杂架构、安全审查、需要最强推理能力的新问题。

Sonnet($$)— 通用编码和日常任务。这是默认模型,能处理大多数工作。

Haiku($)— 快速提问、简单任务、速度比深度更重要的高频操作。

策略性模型使用

复杂功能用 opus 开始:

/model opus
规划用户权限系统的架构

切换到 sonnet 进行实现:

/model sonnet
实现我们讨论的权限检查中间件

用 haiku 做快速检查:

/model haiku
这个正则表达式对吗? /^[\w-]+@[\w-]+\.[\w-]+$/

无头模式自动化

使用 -p(print)标志为 CI/CD 和自动化编写 Claude Code 脚本。

基本用法

claude -p "analyze this PR for security issues"

-p 标志让 Claude 以非交互模式运行,完成后退出。非常适合脚本和流水线。

输出格式

控制响应的返回方式:

# 纯文本(默认)
claude -p "summarize this project"
# 带元数据的 JSON
claude -p "list all TODO comments" --output-format json
# 流式 JSON,用于实时处理
claude -p "analyze this code" --output-format stream-json

工具自动批准

预先批准工具以避免 CI 中的权限提示:

# 允许特定工具
claude -p "run tests and fix failures" \
--allowedTools "Bash,Read,Edit"
# 限制到特定命令
claude -p "create a commit" \
--allowedTools "Bash(git diff:*),Bash(git log:*),Bash(git commit:*)"

流水线示例

# 自动化 PR 审查
git diff HEAD~1 | claude -p "summarize these changes"
# Pre-commit hook
claude -p "check staged files for secrets" || exit 1
# JSON 输出的安全扫描
claude -p "security review of this codebase" \
--output-format json \
--allowedTools "Read,Grep" | jq -r '.result'

会话续接

以编程方式继续对话:

# 从第一次调用获取 session ID
session_id=$(claude -p "start review" --output-format json | jq -r '.session_id')
# 继续该会话
claude -p "now check for performance issues" --resume "$session_id"

键盘快捷键

掌握这些,让你更快地导航 Claude Code。

基本快捷键

Escape — 中断 Claude 正在进行的响应。当你看到它走偏方向时很有用。

Escape, Escape(双击)— 打开命令历史。滚动浏览之前的提示并重新运行。

Ctrl+C — 完全取消当前操作。

Ctrl+L — 清除终端显示(不是上下文,只是视觉杂乱)。

Up Arrow — 循环浏览最近的提示。

VS Code 扩展

Claude Code 的 VS Code 扩展将同样的能力带入了编辑器。它不是一个独立产品——是 Claude Code 在 VS Code 中原生运行,共享相同的配置、命令和 MCP 服务器。

Cmd+L — 打开 Claude 面板。这是你花最多时间的地方——一个能理解你工作区的持久聊天界面。

Cmd+Shift+L — 将选中的代码发送给 Claude。高亮代码,按快捷键,Claude 就能精确看到你在看的内容。

Cmd+I — 内联编辑模式。Claude 直接在文件中编辑代码,以 diff 视图显示——接受或拒绝更改而无需离开文件。

Cmd+Shift+P → "Claude" — 从命令面板访问所有 Claude 命令。

扩展共享你的 .claude/ 配置,所以自定义命令、MCP 服务器和 CLAUDE.md 指令的工作方式完全相同。相比终端 Claude Code 的主要优势:可视化 diff、内联建议,以及更紧密的编辑器集成。

语音输入:与 Claude 对话

当我独自一人时,经常切换到语音输入。对于解释复杂问题,语音比打字快,而且有时候把问题说出来本身就能帮你理清思路,甚至 Claude 还没回复你就想通了。

在 Mac 上,设置很简单:系统设置 → 键盘 → 听写 → 启用。然后在任何地方使用听写快捷键(默认双击 Fn)——包括 Claude 面板。

macOS 语音听写设置
macOS 语音听写设置

语音输入在以下场景特别好用:

  • 解释你盯了好几个小时的 Bug
  • 一边看设计稿一边描述 UI 变更
  • 手在触控板上时的快速提问
  • 把问题大声说出来帮自己理清思路

语音输入与 Claude 的理解能力结合,让关于代码的对话变得出奇地自然。

隐藏的生产力技巧

"假装"模式

像 Stripe 的高级工程师一样实现这个
像明天就要上线一样审查这段代码

不用列出明确要求就能设定质量期望。

Roll Safe meme - 假装是 Stripe 高级工程师就不会写出烂代码
Roll Safe meme - 假装是 Stripe 高级工程师就不会写出烂代码

约束模式

用不超过 50 行实现
不添加新依赖来解决这个问题

约束往往能带来更好的解决方案。

先解释模式

在实现之前,用 2-3 句话解释你的方案

迫使 Claude 先思考再行动。尽早发现不好的方案。

橡皮鸭提示

我卡在 [问题] 上了。问我一些问题帮我理清思路。

让 Claude 成为调试伙伴,而不只是代码生成器。

下一步

你已经学会了高手秘籍——ultrathink 用于深度推理,worktree 用于并行开发,无头模式用于自动化,以及那些真正起作用的生产力模式。

第10篇:Vibe Coding 中,我们将用 AI 协作的哲学来收尾——何时让 Claude 主导,何时自己掌舵,以及如何培养你自己的 AI 辅助开发直觉。

Quick Reference

扩展思考

"think about..." — 4K tokens

"think hard about..." — 10K tokens

"ultrathink about..." — 32K tokens(最大)

Git worktree

git worktree add ../dir -b branch — 创建 worktree

git worktree remove ../dir — 移除 worktree

键盘快捷键

Escape — 中断

Escape Escape — 命令历史

Ctrl+C — 取消

Up Arrow — 上一条提示

Token 优化

/clear — 重置上下文(推荐)

/compact Focus on X — 如果必须,引导它

模型切换

/model opus — 复杂任务

/model sonnet — 通用(默认)

/model haiku — 快速提问

无头自动化

claude -p "task" — 一次性模式

--output-format json — 机器可读

--allowedTools "Read,Bash" — 预先批准工具

Stay Updated

Get notified about new posts on automation, productivity tips, indie hacking, and web3.

No spam, ever. Unsubscribe anytime.

Comments

Related Posts