如果你天天泡在终端里写代码,一定体会过这种场景:上下文刚切换完,思路还没续上,又要打开IDE、找到文件、翻出测试用例,然后重新读一遍代码,才能继续干活。Claude Code 就是冲着这个痛点来的——它不是又一个网页对话框,也不是IDE插件,而是一个直接跑在命令行里的AI编程搭档。你可以在任何目录下敲一句claude,它会读取整个项目的代码结构、定位文件、修改代码、执行命令、跑测试,甚至帮你提交git,全程不用离开终端。
这份速查手册不是把官方文档翻译一遍,而是我实际用了大半年、踩了不少坑之后梳理出来的高频指令、终端快捷键和可落地的工作流。如果你已经受够了切窗口式的人机协作,想把AI嵌进每天的真实操作里,这篇文章对你应该很有用。我会先讲清楚它到底是什么、能做什么,然后给你一份可以直接背下来的命令清单,最后用一个真实的Bug修复案例把整套工作流串起来。
1. Claude Code 到底是什么:一个终端里的AI结对编程搭档
很多人第一次听说Claude Code,以为是类似ChatGPT的聊天工具,其实差别很大。它的核心工作方式不是“你问我答”,而是“你说目标,它读代码、改代码、跑命令、给结果”。这背后是终端上下文感知能力:Claude Code会自动扫描你当前项目里的文件结构、git状态、最近改动,甚至能追踪你每条消息涉及的文件,然后基于真实代码库给出修改建议。这种模式特别适合重构老项目、排查线上Bug、给陌生仓库写测试这类“必须先把代码读明白”的任务。
它的能力边界也很清晰。能做的事情包括:读取和定位文件、批量替换代码、创建新文件、执行终端命令、运行测试、解释报错栈、生成commit信息、写技术文档。需要注意的事情是:它不会替你判断架构合理性,也不会主动发现所有潜在副作用,更不会在你目标表述模糊时替你猜需求。换句话说,它是一名执行力很强但需要清晰指令的实习生,而不是能独立拍板的技术负责人。
适用场景我大概总结为四类。第一类是快速上手陌生代码库,你刚接手一个前人留下的项目,让Claude Code带你把目录结构、核心模块、数据流过一遍;第二类是重复性编码劳动,比如给几十个接口补充参数校验、统一日志格式、生成测试用例;第三类是Bug定位闭环,把报错信息丢给它,让它沿着调用链找原因;第四类是代码评审和重构前的风险评估,让AI先列出所有涉及到的地方,你再决定怎么动。适合的读者也很明确:日常用终端、希望减少上下文切换、愿意把AI当成协作工具而不是搜索引擎的开发者。
1.1 安装与首次启动:一杯咖啡的时间跑起来
安装Claude Code的硬性前提是Node.js环境。建议版本是Node 18以上,低于这个版本会出现各种奇怪的兼容问题。确认Node没问题后,执行一行命令即可:
npm install -g @anthropic-ai/claude-code装完之后敲claude --version验证是否成功。如果提示命令找不到,先检查npm全局安装目录是否在PATH里,这个坑后面排查章节我会专门讲。
第一次启动直接输入claude回车。它有两种认证方式:一种是在终端里生成授权链接,用浏览器登录你的Anthropic账号完成授权;另一种是通过环境变量传入API Key。我个人更推荐用后者,因为方便脚本化和在服务器上使用。配置方式很简单,在~/.zshrc或~/.bashrc里加一行:
export ANTHROPIC_API_KEY="你的key"需要注意的是,不要把API Key写进任何会被git追踪的文件里。我有一次在项目根目录的.env里配了key,结果差点把它提交到仓库。安全做法是:环境变量放到shell配置里,或者用.gitignore明确排除.env文件。
启动时Claude Code会提示你了解它的权限模型,默认情况下,AI读取文件、修改文件、执行命令都需要你手动确认。我建议新手不要急着放开所有权限,先让它做每一步都跟你打招呼,等熟悉之后再按需授权。首次进入项目目录时,可以敲/init让它生成一份CLAUDE.md,这个文件会作为AI理解这个项目的“说明书”,后面工作流章节我会详细展开。
1.2 版本管理与升级
Claude Code迭代速度很快,基本每周都有小版本更新。终端里执行:
claude update它会自动检查并安装最新版本。如果遇到权限问题或者更新失败,最稳妥的办法是重新执行全局安装命令,覆盖旧版本。升级后建议用claude --version确认版本号,另外留意CHANGELOG里是否新增了命令参数或行为变化,因为有些升级会调整默认权限策略,之前能跑通的工作流可能需要微调。
2. 高频指令全解析:这些命令背下来,效率直接翻倍
Claude Code的指令体系分为两类:一类是在交互会话里敲的斜杠命令,另一类是启动时附带的参数命令。前者解决的是“会话内怎么控制AI”,后者解决的是“怎么把AI嵌入脚本和自动化流程”。我把这两类拆开讲,并附上我用下来最顺手的组合。
2.1 会话内高频斜杠命令速查
先给一份我日常使用频率最高的命令清单:
| 命令 | 作用 | 我的使用场景 |
|---|---|---|
/help | 查看所有可用命令和说明 | 记不住参数时快速查 |
/init | 生成或更新CLAUDE.md项目记忆文件 | 新项目第一步 |
/memory | 添加跨会话持久记忆 | 告诉AI你常用的编码偏好 |
/compact | 压缩上下文,保留关键信息继续对话 | 对话超过30轮、AI开始忘事时 |
/clear | 清空当前会话上下文 | 切换任务时彻底重置 |
/resume | 列出历史会话并选择恢复 | 第二天接着上次的工作 |
/model | 切换使用的模型版本 | 简单任务换轻量模型省钱 |
/status | 显示当前会话状态、模型和上下文占用 | 怀疑上下文快满了时排查 |
这里重点说一下/compact。很多人不理解为什么对话会“越聊越笨”。Claude Code的每次请求都会把对话历史重新发给模型,历史越长,占用的上下文窗口越多,模型能在意的细节就越少。/compact的本质是让AI把之前的对话总结成一份精简摘要,然后用摘要替代完整历史,相当于给对话“瘦身”。我一般在两个时机用它:一是明显感觉到它开始忘记最开始的需求细节;二是即将开始一个大任务之前,主动清掉无关的历史包袱。
/memory也很实用。它写入的是跨会话的持久记忆,会跟随账号保存。比如我习惯让Claude Code生成的commit信息按type(scope): description的规范来,这个偏好写入/memory后,以后每个会话它都会遵守。这里注意,/memory适合放与项目无关的个人通用偏好,与具体项目相关的约定应该放进CLAUDE.md,否则换项目时记忆会串味。
2.2 命令行非交互模式:把AI装进脚本里
交互模式适合人坐在终端前一步步指挥,但真正让效率起飞的是非交互模式。通过-p参数,你可以把一段提示词直接传给Claude Code,执行完就退出,连会话都不需要进入。这是我拼接自动化流程的利器:
claude -p "查看当前目录的README.md,提取其中提到的主要功能清单"更实用的是配合管道和其他命令。比如我想让AI给我刚才的改动写commit信息:
git diff | claude -p "根据以下diff内容,生成一份符合 conventional commits 规范的提交信息,不要有其他解释"或者让AI审查所有未提交的改动:
git diff --cached | claude -p "你是资深代码评审人,请指出这段diff中可能存在的bug和安全隐患,按严重程度排序输出"这套方式的威力在于可以把AI嵌入到任何已有流程里。我个人的习惯是写一个shell脚本,把常用的审查、测试补全、文档生成操作封装好,然后配合alias使用,比如alias cr='git diff | claude -p "请帮我做代码审查..."'。一旦跑通,AI就不再是“需要打开窗口才能用的玩具”,而是跟grep、awk一样自然存在的命令。
非交互模式有几个容易踩的坑。第一,没有对话上下文,每次调用都是独立的,所以提示词里要把必要信息写完整;第二,输出结果默认是纯文本到stdout,如果需要结构化结果,可以在提示词里要求只输出JSON,然后交给jq解析;第三,注意控制输出长度,某些任务会产生很长的结果,配合--output-format text或--verbose按需选用。
2.3 启动参数与权限控制
启动时的一些参数能直接改变会话行为。这里列出几个我常用的:
claude --continue # 继续最近一次会话 claude --resume # 从历史会话列表里选择恢复 claude --model sonnet # 指定模型,简单任务用轻量模型 claude --allowedTools "Bash,Read" # 只允许部分工具 claude --disallowedTools "Write" # 禁止部分工具 claude --dangerously-skip-permissions # 跳过权限确认(高风险,慎用)权限控制是Claude Code比较有特色的一块。默认它是“事事确认”的,这很安全但有打扰。用--allowedTools可以精细授权。比如我喜欢让它直接跑测试命令,但不想让它动git远程操作,就可以限定它只能用执行终端命令和读文件、改文件。实际使用中,我强烈不建议用--dangerously-skip-permissions,AI偶尔会产生幻觉式的操作序列,跳过确认等于把方向盘完全交给一个偶尔走神的司机。如果觉得弹窗太频繁,更好的方案是把常用操作拆成安全的斜杠命令,后面工作流章节会讲怎么定制。
3. 快捷键与终端技巧:让高频操作变成肌肉记忆
命令会背了,但如果鼠标还得反复从终端挪到浏览器,效率还是上不去。Claude Code的交互体验很大程度取决于你有多会用终端快捷键。这一节我把最常用的操作整理成速查表,再讲几个能显著提速的进阶技巧。
3.1 会话内快捷键速查表
需要说明的是,Claude Code跑在终端器里,所以它的快捷键其实是“终端通用快捷键 + 会话内自有键位”的混合体。我整理常用的一组:
| 快捷键 | 作用 |
|---|---|
Ctrl + C | 中断当前AI生成或终端命令 |
Ctrl + L | 清空当前屏幕(保留会话) |
Ctrl + D | 退出交互会话 |
Ctrl + R | 搜索历史命令 |
Tab | 自动补全命令或文件路径 |
Esc | 撤销/停止当前输入框里的内容(视终端而定) |
↑/↓ | 查看历史输入 |
这里有三个高频操作必须练成肌肉记忆。第一是Ctrl + C,AI生成到一半发现方向偏了,按下去比说“停”快得多;第二是Tab补全,Claude Code支持命令和文件路径的补全,敲一个/me再按Tab,能直接补全成/memory;第三个是Ctrl + L,会话时间久了终端输出很乱,随手清屏能让注意力回到当前代码块上。
3.2 多行输入、粘贴与超长需求
终端里的一个尴尬是:需求描述太长,一行写完没法换行。Claude Code支持多行输入,在输入框里直接按Shift + Enter换行,这样可以把一个复杂任务拆成几条要求分步写清楚。如果你要粘贴大段代码或文档,要格外小心:有些终端会逐字符执行粘贴内容,如果文本里包含换行符,可能在粘贴完成前就按回车执行了。
我的安全做法是:把大段内容先写入一个临时文件,然后用cat传给Claude Code。比如:
cat prompt.txt | claude -p "根据文件要求完成需求"如果是在交互会话里,更推荐用斜杠命令!前缀来执行终端命令,这样准确性更高。比如!cat data.txt可以把文件内容直接带到对话里,不需要复制粘贴。
3.3 Vim模式与键盘流工作法
如果你是Vim用户,Claude Code的编辑区域支持Vim键位,这能让整个会话完全脱离鼠标。编辑代码建议时,按Esc进入普通模式,用h/j/k/l移动光标,dd删除当前行,u撤销,i回到插入模式。这一套说起来简单,但用顺了以后,你修改AI生成代码的速度会提升一个档次。
如果你不熟悉Vim也不用强求。我自己刚开始也觉得多余,直到有一次改一段AI生成的复杂函数,用Vim键位连续调整了十几处,才意识到鼠标操作需要反复切换定位和点击,而Vim模式下整个手都停在键盘上,改动的节奏是连续不间断的。我的建议是:先记住i、Esc、hjkl、dd、u这几个键,够用就行,其他键位遇到需求再查,别一开始就背完整张键位图。
4. 高效工作流搭建:从“你问我答”到“人机协作流水线”
命令背得再熟,如果只是零散地对AI提问,效果始终有限。真正的效率提升来自把重复性的工作固化成工作流。这一节我分享四个我自己在用的工作流,从新项目启动到代码审查全覆盖。
4.1 新项目启动工作流:从空目录到可运行骨架
假设你要开始一个Python项目,目标是用FastAPI写一个待办事项接口。过去你要手动建目录、装依赖、写入口文件、配置路由,现在可以这样和Claude Code配合。
第一步,在空目录下启动claude,用一句话描述目标:“创建一个FastAPI项目骨架,支持Todo的增删改查,使用SQLite存储,包含requirements.txt和README.md”。AI会自动分析当前目录,然后询问你是想让它直接创建文件还是一次一个确认。我的建议是:第一次运行让它逐个确认,因为你可能会发现它对项目结构的默认理解不符合你的预期。
第二步,生成完骨架后,别急着写业务代码,先执行claude -p "读取这些新建的文件,总结当前项目结构,指出哪里缺少错误处理"。这一步是为了检查AI生成内容的质量,同时让上下文里有完整的项目认知。
第三步,如果你对生成结果满意,用/init让AI生成一份CLAUDE.md,把项目结构、技术栈、运行命令写进去。这不仅仅是给AI看,也是给队友看的项目入口文档。这个工作流下来,一个可运行的项目骨架通常在十分钟内就能完成,比起手动搭建,省下的主要是建目录、写模板、查依赖的时间。
4.2 Bug修复闭环:从报错到提交
Bug排查是我最喜欢用Claude Code的场景,因为它能真正沉进代码里看调用链,而不是像搜索引擎那样给你一堆相关链接。我的标准流程是四步。
第一步,复现Bug,拿到完整的报错信息。如果报错栈很长,直接全选丢给AI,不要自己先精简,AI能从完整栈里提取关键路径。
第二步,让AI先解释后修改。我通常这样写提示词:“先分析这个报错的根本原因,列出涉及的函数和调用关系,不要急着修改代码。确认原因后再给出修复方案。”这个约束很重要,否则AI经常跳过分析直接甩一段修改代码,你不知道它为什么改,出了问题也没法回退。
第三步,让AI直接改代码并补测试。修改完成后,让它针对这次修复补一个回归测试。我踩过最大的坑就是让AI修Bug不补测试,结果三天后同样的Bug换了个形式又出现了。
第四步,验证通过后提交。测试跑通后,用git diff | claude -p "生成commit信息"工具生成规范提交信息,然后手动确认、提交。
整个流程里,人只负责复现、给目标、最终确认,中间的读代码、定位、修改、补测试都由Claude Code完成。这个模式跑顺后,修Bug带给我的精神负担少了很多。
4.3 代码评审工作流:让AI当第一道过滤器
每次写完整块代码后,我都不直接提交,而是先让AI做一次预审。非交互模式跑一条命令:
git diff | claude -p "你是资深后端工程师,请审查以下代码改动。重点检查:1.潜在的空指针和异常场景;2.事务和并发安全问题;3.命名和可读性问题;4.遗漏的边界条件。按严重程度输出,如果没问题请说明原因。"这里的关键是给AI一个“输出格式”的框架,而不是泛泛说“帮我看看”。AI的输出质量几乎完全取决于你提供的审查维度。我第一次用的时候只说了“审查代码”,结果它给了一堆风格建议,全没在点上。后来我把审查维度写成列表,它给到的结果就专业得多,甚至发现过我遗漏的数据库连接未释放问题。
这个工作流特别适合合并请求之前的自检。AI会在你提交给同事之前先挑一轮毛病,省去很多来回沟通的成本。同时我还会让AI顺便生成一份变更摘要,这样提交说明里就有了一份清晰的中文变更记录。
4.4 定制Slash Command:把重复劳动变成一键指令
Claude Code支持自定义斜杠命令,这是把工作流固化下来的杀手锏。在项目的.claude/commands/目录下,每个Markdown文件就是一个斜杠命令。我举个例子,创建一个review.md:
你是资深代码评审人。请以以下维度审查代码,并输出结构化结果: 1. 正确性风险 2. 性能问题 3. 安全漏洞 4. 可维护性 要求:每个问题必须附带文件和行号,按严重程度排序。 </git_diff>注意文件里那个</git_diff>是Claude Code的上下文注入语法。它会把当前的git diff注入到命令里,这样我只要在会话里敲/review,AI就能自动开始审查当前改动,全程不用我复制粘贴任何代码。
除了review,我常用的还有test命令(让AI为当前文件补测试)、doc命令(让AI生成模块文档)。这些东西放到.claude/commands/目录后,团队里其他人也能共享,多个人的经验就沉淀成了一套命令库。
4.5 用 CLAUDE.md 给AI“立规矩”
最后说CLAUDE.md。这个文件是项目级的说明文档,Claude Code每次启动都会自动加载它。我在每个中大型项目里都会维护一份,内容包含:项目背景和技术栈、目录结构说明、编码规范(比如用单引号还是双引号、测试的命名方式)、常用的构建命令、一些容易踩的坑和约定。
一个具体的例子:
# 项目约定 - 技术栈:Python 3.11 + FastAPI + SQLAlchemy 2.0 - 测试:必须使用 pytest,测试文件放在 tests/ 目录 - 数据库:所有查询必须使用参数化,禁止拼接SQL - 日志:使用 structlog,禁止 print 调试 - 运行测试:poetry run pytest有了这份文件,AI生成的代码会更贴项目。这里有个经验:CLAUDE.md不是写给AI的说明书,而是“给新同事的入职文档”加“给AI的项目上下文”的合体。你写的时候,想象一下如果有个新人加入项目,你最想让他立刻知道什么,那就写什么。写得越具体,AI的行为就越可预测。
5. 常见问题与排查技巧实录
用了这么久,我遇到过不少奇葩问题。这一节整理成速查表,每一条都是真实踩坑后的经验,不是纸面推测。
5.1 安装失败或命令找不到
最典型的问题就是执行claude提示 command not found。排查思路按顺序来:先node -v看Node版本,低于18的直接升级;然后npm config get prefix查看全局安装路径,如果这个路径不在你的PATH里,需要手动添加到shell配置。另一个常见问题是全局安装时没有权限,这通常是因为用了系统级Node。我不推荐用sudo npm install,正确做法是用 nvm 管理Node版本,这样全局安装路径自动落在用户目录下,不会碰权限问题。
如果安装很慢,可以给npm配置镜像源,比如使用npm config set registry https://registry.npmmirror.com。这只是改下载源,不出副作用,装完之后不影响任何使用。
5.2 对话越来越笨,上下文爆了怎么办
AI突然开始记不住需求、答非所问、频繁重复,十有八九是上下文窗口快满了。先敲/status看当前上下文占用情况。如果占用超过50%,建议执行/compact压缩历史,或者再直接一点,先/clear清空会话,然后用--continue接着上一个会话的关键结论重新开始。很多人不知道--continue和/resume的区别,前者是“接着最近一次会话继续”,后者是“从历史列表里手动挑一个会话”。
预防办法是:大任务拆小任务,别让一个会话里堆三四个不相关的需求。我习惯一个任务开一个会话,需要接续时用--continue,任务彻底完成后用/clear重置,保证每个会话的上下文都用在刀刃上。
5.3 AI拒绝执行操作或权限弹窗太频繁
如果你遇到AI说“我没有权限修改这个文件”或“当前环境不允许执行此命令”,大概率是权限模型设置了限制。解决方法是:启动时用--allowedTools "Read,Write,Bash"显式授权,或者直接用自定义斜杠命令里配好的权限范围。如果某个操作频繁触发确认,但你确认过很多次AI都做得对,可以在提示词里明确告诉它“后续同类操作直接执行,不需要再询问”,Claude Code会把这类指令记在当前会话的上下文里。
如果弹窗实在太频繁影响心情,可以检查一下是否有旧的settings.json配置文件覆盖了你的默认权限。终端里敲claude config list查看当前配置,必要时用claude config set --global更新权限项。
5.4 网络连接不稳定或模型切换
使用过程中偶尔会遇到连接超时或请求失败。最简单的处理是重试,Claude Code内置了重试机制,但偶尔也需要手动重新发一次消息。如果频繁超时,可以看下是不是你用的模型版本太大、响应太慢,换成--model sonnet这类轻量模型往往能明显改善。这里不涉及玄学,就是轻量模型的响应时延更短,适合日常对话和代码生成。
如果你所在的环境没有直接连接API的网络条件,Claude Code支持通过环境变量ANTHROPIC_BASE_URL指定API的基地址,这个在企业内网部署或使用兼容网关时很有用。配置方式也是在shell里export这个变量,重启终端生效。除此之外,动画输出、超长文件读入也会让请求变慢,遇到性能问题时,优先减少单次请求的上下文体积。
5.5 快捷键冲突与终端兼容性
快捷键不好使,多半是终端的键位绑定抢先拦截了。比如iTerm2默认的Ctrl + L可能是清除屏幕而不是传给Claude Code,或者某些终端的Ctrl + D绑定到了关闭面板。排查办法是:先试在系统自带终端或干净环境里执行,如果正常,说明是终端软件的键位冲突,去对应终端的键位设置里找。我个人在macOS上常用iTerm2,用之前会额外检查Profile下的Keys配置,把Claude Code需要的组合键设为“发送给shell”。
另外,如果你用tmux、zellij这类终端复用工具,还要注意它们的prefix快捷键和Ctrl组合键可能冲突。我的处理方案是:Claude Code日常直接用系统终端,tmux里跑长期运行的命令,两者互不干扰。快捷键这东西没有什么统一标准,关键是先在纯环境里验证功能本身没问题,再逐步排查是哪一层拦截了。
最后再分享一个我自己的习惯。我把最常用的斜杠命令和CLAUDE.md模板沉淀到了一个dotfiles仓库里,新机器上一键拉取,立刻拥有一套完整的人机协作环境。Claude Code真正让我留下来的原因,不是它能生成多惊艳的代码,而是它把“读代码、找文件、跑测试、写commit”这些重复动作压缩到了极致。刚开始接触的朋友也不用急着背完所有命令,先把claude -p、/compact、/init和CLAUDE.md这四件事用熟,你的日常效率就已经超过大部分人了。