15 个内置工具:它能"动手"的边界
Claude Code 内置了 15 个工具,这就是它实际能操作的全部能力。说白了,不管你 prompt 写得多花哨,最终都是通过这 15 个工具落地的。
文件操作类(7 个):
- Read(读文件)、Write(写文件)、Edit(改文件)、MultiEdit(批量改)
- Glob(找文件)、Grep(搜内容)、LS(列目录)
执行类(1 个):
- Bash——跑 Shell 命令,理论上终端里能做的事它都能做,这一个工具就撑起了半边天
网络类(2 个):
- WebSearch、WebFetch——搜索和抓取网页,弥补训练数据过时的短板
Notebook 类(2 个):
- NotebookRead、NotebookEdit——专门操作 Jupyter Notebook 单元格
任务管理类(2 个):
- TodoRead、TodoWrite——内置待办事项,追踪多步任务进度
子代理(1 个):
- Agent——启动子代理处理独立任务,相当于它自己再分身一个助手去干活
15 个不多不少,但组合起来覆盖面极广。日常开发中你能想到的操作,基本都在射程范围内。
CLAUDE.md:三层配置体系
很多人只知道项目根目录放一个 CLAUDE.md 就完事了,但实际上它有三层,搞清楚这个结构能省不少麻烦。
- 项目级
CLAUDE.md——放在项目根目录,跟着仓库走,团队共享。写项目约定、技术栈、代码规范这些公共信息。 - 本地级
CLAUDE.local.md——也在项目目录,但被.gitignore掉了。你个人的偏好、私有配置放这里,不污染团队仓库。 - 全局级
~/.claude/CLAUDE.md——跟着你的机器走,所有项目都会加载。适合放通用习惯,比如「用中文回复」「commit message 用英文」之类的。
另外,输入 /init 命令,Claude Code 会自动扫一遍代码库,帮你生成一份项目级的 CLAUDE.md。生成的内容不一定完美,但至少给了个起点,你再手动补充关键信息就好。
两个容易忽略的符号
#号——在对话中打#,后面的内容会进入 memory 模式,被持久化记住。相当于随时给它立规矩:「以后都按这个来」。@符号——@一个文件路径,直接把文件指给它看,明确告诉它「改这个」,省得它自己猜半天猜错。
这两个小细节看着不起眼,但对提高指令精准度非常有用。
快捷键和操作技巧
几个实用的操作,值得记住:
- Esc 按一次:中断当前执行,正在跑的任务立刻停下
- Esc 按两次:进入 rewind 模式,可以回退对话到某个节点重新开始。这个功能非常关键——做复杂任务发现方向跑偏了,不用清空重来,直接回退到分叉点
- Shift + Tab:切换权限模式
/compact:压缩对话历史,上下文快满的时候用,把之前的对话总结成更短的版本腾出空间/clear:清除所有对话历史,彻底从零开始- Cmd + Ctrl + Shift + 4 或 3(Mac):截图到剪贴板后直接粘贴给 Claude Code 看,省去保存文件再传的步骤
五种输出类型
Claude Code 能输出的东西比大多数人以为的要多:
- 文档——Markdown、Quarto 等各种文本格式
- 代码——Python、C++、Java 等各种语言
- HTML 页面——完整网页,带样式带交互
- 图像和图表——SVG 矢量图、Mermaid 流程图、组织架构图
- React 组件——带真实功能的交互式 UI 组件
知道这些之后,很多你觉得「这个它应该做不了吧」的事情,其实都能做。
Hooks 机制
Hooks 是在 Claude Code 运行前或运行后自动触发的任务,写在 settings 文件里。它不需要手动调用,条件满足就自己跑。比如可以设置每次 Claude Code 完成修改后自动执行 git commit,把手动操作彻底干掉。第一章只是点到为止,后续课程会深入展开。
这一章的内容对老手来说大部分不陌生,但系统过一遍还是有收获。比如 CLAUDE.md 的三层结构,很多人用了很久都没刻意区分过 local 和全局的差异;再比如 Esc 按两次的 rewind 功能,不学还真不知道有这个操作。建议动手把自己的三层 CLAUDE.md 配好,尤其是全局那一层——一次配置,所有项目受益。