Claude Code 最佳实践和常用命令完整指南
自定义命令允许你定义经常使用的提示为 Markdown 文件。Model Context Protocol (MCP) 是一个开源标准,允许 Claude Code 连接到外部工具和数据源。MCP 服务器可以访问数百个工具。Hooks 是在 Claude Code 生命周期中特定点执行的自定义 shell 命令,提供对 Claude Code 行为的确定性控制。
本文档整理了 Claude Code CLI 工具的最佳实践、常用命令、配置选项和高级功能。
目录
常用斜杠命令
基础命令
| 命令 | 用途 | 说明 |
|---|---|---|
/help |
获取帮助 | 显示所有可用命令的列表 |
/exit |
退出会话 | 结束当前 Claude Code 会话 |
/clear |
清空历史 | 清除对话历史(保留代码改动) |
/status |
查看状态 | 显示版本、模型、账户和连接状态 |
/config |
打开配置 | 打开设置界面(配置选项卡) |
账户和认证
| 命令 | 用途 | 说明 |
|---|---|---|
/login |
切换账户 | 切换 Anthropic 账户 |
/logout |
登出 | 从 Anthropic 账户登出 |
/privacy-settings |
隐私设置 | 查看和更新隐私设置 |
项目和内存管理
| 命令 | 用途 | 说明 |
|---|---|---|
/init |
初始化项目 | 创建 CLAUDE.md 项目文档 |
/memory |
编辑记忆 | 编辑 CLAUDE.md 内存文件 |
/add-dir |
添加目录 | 添加额外的工作目录 |
模型和成本
| 命令 | 用途 | 说明 |
|---|---|---|
/model |
选择模型 | 选择或切换 AI 模型 |
/cost |
查看成本 | 显示 Token 使用统计 |
/stats |
查看统计 | 显示每日使用情况、会话历史、连续记录 |
/usage |
查看限额 | 显示订阅计划限额和速率限制 |
代码审查和协作
| 命令 | 用途 | 说明 |
|---|---|---|
/review |
代码审查 | 请求代码审查 |
/security-review |
安全审查 | 完成当前分支的安全审查 |
/pr-comments |
PR 注释 | 查看 GitHub 拉取请求的注释 |
工具和集成
| 命令 | 用途 | 说明 |
|---|---|---|
/mcp |
MCP 管理 | 管理 MCP 服务器连接和认证 |
/hooks |
钩子管理 | 管理工具事件的钩子配置 |
/ide |
IDE 集成 | 管理 IDE 集成并显示状态 |
/plugin |
插件管理 | 管理 Claude Code 插件 |
/agents |
子代理管理 | 管理自定义 AI 子代理 |
高级功能
| 命令 | 用途 | 说明 |
|---|---|---|
/resume |
恢复会话 | 显示会话选择器恢复旧对话 |
/rewind |
撤销改动 | 撤销代码改动和对话历史 |
/bashes |
后台任务 | 列出和管理后台任务 |
/compact [instructions] |
压缩对话 | 压缩对话历史(可选重点指令) |
/export [filename] |
导出对话 | 导出当前对话到文件或剪贴板 |
/todos |
TODO 列表 | 列出当前 TODO 项目 |
/context |
上下文使用 | 显示当前上下文使用情况(彩色网格) |
维护和支持
| 命令 | 用途 | 说明 |
|---|---|---|
/doctor |
诊断 | 检查 Claude Code 安装的健康状况 |
/bug |
报告 Bug | 向 Anthropic 报告错误(发送对话) |
/release-notes |
发行说明 | 查看发行说明 |
/output-style [style] |
输出风格 | 直接设置或从菜单选择输出风格 |
/vim |
Vim 模式 | 进入 Vim 编辑模式 |
/terminal-setup |
终端设置 | 为 iTerm2 和 VSCode 安装 Shift+Enter 按键绑定 |
/statusline |
状态栏 | 设置 Claude Code 的状态栏 UI |
/permissions |
权限管理 | 查看或更新权限 |
/sandbox |
沙箱设置 | 启用带有文件系统和网络隔离的沙箱模式 |
/install-github-app |
GitHub 集成 | 为仓库设置 Claude GitHub Actions |
自定义斜杠命令
自定义命令允许你定义经常使用的提示为 Markdown 文件。
项目命令(存储在 .claude/commands/)
# 创建项目命令
mkdir -p .claude/commands
echo "分析这段代码的性能问题并提出优化建议:" > .claude/commands/optimize.md
# 使用命令
> /optimize
个人命令(存储在 ~/.claude/commands/)
# 创建个人命令
mkdir -p ~/.claude/commands
echo "检查这段代码的安全问题:" > ~/.claude/commands/security-review.md
# 使用命令
> /security-review
使用命令参数
# 使用 $ARGUMENTS 传递所有参数
echo "修复问题 #\$ARGUMENTS" > .claude/commands/fix-issue.md
# 使用 $1, $2 等传递单个参数
echo "审查 PR #\$1 优先级 \$2" > .claude/commands/review-pr.md
# 使用时
> /fix-issue 123
> /review-pr 456 high
命令前置(执行 Bash 命令)
使用 ! 前缀在命令文件中执行 bash 命令:
---
allowed-tools: Bash(git status:*), Bash(git diff:*)
---
当前 git 状态:!`git status`
当前 git diff:!`git diff HEAD`
键盘快捷键
通用快捷键
| 快捷键 | 功能 | 说明 |
|---|---|---|
Ctrl+C |
取消输入/生成 | 中断当前操作 |
Ctrl+D |
退出会话 | EOF 信号 |
Ctrl+L |
清空屏幕 | 保留对话历史 |
Ctrl+O |
切换详细输出 | 显示工具使用和执行详情 |
Ctrl+R |
反向历史搜索 | 交互式搜索历史命令 |
Ctrl+V (Linux/Mac) 或 Alt+V (Windows) |
粘贴图片 | 从剪贴板粘贴图片 |
Ctrl+B |
后台运行命令 | 在后台运行长命令 |
Esc + Esc |
撤销改动 | 恢复代码和/或对话到之前的状态 |
Shift+Tab 或 Alt+M |
切换权限模式 | 在自动接受、计划和普通模式间切换 |
Option+P (Mac) 或 Alt+P (Windows/Linux) |
切换模型 | 无需清空提示就切换模型 |
Up/Down 箭头 |
导航历史 | 回顾之前的输入 |
多行输入
| 方法 | 快捷键 | 说明 |
|---|---|---|
| 快速转义 | \ + Enter |
在所有终端中有效 |
| macOS 默认 | Option+Enter |
macOS 默认设置 |
| 终端设置 | Shift+Enter |
运行 /terminal-setup 后 |
| 控制序列 | Ctrl+J |
换行符 |
| 直接粘贴 | 粘贴代码块 | 适用于代码和日志 |
快速命令前缀
| 前缀 | 功能 | 说明 |
|---|---|---|
# 开头 |
添加到内存 | 添加到 CLAUDE.md 文件 |
/ 开头 |
斜杠命令 | 执行斜杠命令 |
! 开头 |
Bash 模式 | 直接运行命令并添加输出到会话 |
@ |
文件路径提及 | 触发文件路径自动完成 |
Vim 编辑模式
按 /vim 进入 Vim 风格编辑。
模式切换
| 命令 | 动作 | 来源模式 |
|---|---|---|
Esc |
进入 NORMAL 模式 | INSERT |
i |
光标前插入 | NORMAL |
I |
行首插入 | NORMAL |
a |
光标后插入 | NORMAL |
A |
行尾插入 | NORMAL |
o |
在下方打开新行 | NORMAL |
O |
在上方打开新行 | NORMAL |
导航(NORMAL 模式)
| 命令 | 动作 |
|---|---|
h/j/k/l |
左/下/上/右 |
w |
下一个单词 |
e |
单词末尾 |
b |
上一个单词 |
0 |
行首 |
$ |
行尾 |
^ |
首个非空字符 |
gg |
输入开始 |
G |
输入结束 |
编辑(NORMAL 模式)
| 命令 | 动作 |
|---|---|
x |
删除字符 |
dd |
删除行 |
D |
删除到行尾 |
dw/de/db |
删除单词/到末尾/向后 |
cc |
改变行 |
C |
改变到行尾 |
cw/ce/cb |
改变单词/到末尾/向后 |
. |
重复上次改动 |
最佳实践和使用技巧
1. 理解新代码库
快速上手:
cd /path/to/project
claude
# 在会话中
> 给我这个代码库的概览
> 解释这里使用的主要架构模式
> 核心数据模型是什么?
> 身份验证是如何处理的?
最佳实践:
- 从广泛的问题开始,然后深入具体领域
- 询问项目中使用的编码规范和模式
- 请求项目特定术语的词汇表
2. 高效修复错误
# 分享错误信息
> 当我运行 npm test 时看到一个错误
# 获取修复建议
> 提议几种方式来修复 user.ts 中的 @ts-ignore
# 应用修复
> 更新 user.ts,添加你建议的 null 检查
最佳实践:
- 告诉 Claude 如何重现问题和获取堆栈跟踪
- 提及任何重现步骤
- 说明错误是间歇性还是持续的
3. 代码重构
# 识别需要重构的代码
> 找出我们代码库中已弃用的 API 使用
# 获取重构建议
> 建议如何重构 utils.js 使用现代 JavaScript 特性
# 应用更改
> 重构 utils.js 为 ES2024,保持相同行为
# 验证
> 为重构的代码运行测试
4. 计划模式(Plan Mode)最佳实践
使用计划模式进行安全的代码分析,特别是复杂改动:
# 启动计划模式
claude --permission-mode plan
# 或在会话中
Shift+Tab # 循环到计划模式
# 规划复杂重构
> 我需要将身份验证系统重构为使用 OAuth2。创建详细的迁移计划。
# 询问细化
> 向后兼容性如何处理?
> 数据库迁移应该如何进行?
在 .claude/settings.json 中设为默认:
{
"permissions": {
"defaultMode": "plan"
}
}
5. 处理测试
# 识别未测试的代码
> 找出 NotificationsService 中未被测试覆盖的函数
# 生成测试框架
> 为通知服务添加测试
# 添加边界条件测试
> 为通知服务中的边界条件添加测试用例
# 运行和验证
> 运行新测试并修复任何失败
最佳实践:
- 指定你想验证的行为
- Claude 会查看现有测试文件以匹配风格和框架
- 让 Claude 识别你可能遗漏的边界情况
6. 创建拉取请求
> 总结我对身份验证模块所做的更改
> 创建一个 PR
> 使用更多安全改进的上下文增强 PR 描述
> 添加这些更改如何被测试的信息
7. 文档处理
# 识别缺少文档的代码
> 在 auth 模块中找到缺少适当 JSDoc 注释的函数
# 生成文档
> 为 auth.js 中的未文档化函数添加 JSDoc 注释
# 审查和增强
> 改进生成的文档,添加更多上下文和示例
# 验证
> 检查文档是否遵循我们的项目标准
8. 使用扩展思考(Extended Thinking)
对于复杂的问题,使用扩展思考深入分析:
# 在消息中包含 ultrathink 关键词
> ultrathink: 为我们的 API 设计一个缓存层
# 或通过环境变量启用
export MAX_THINKING_TOKENS=2000
claude
按 Ctrl+O 查看 Claude 的思考过程(显示为灰色斜体文本)。
9. 恢复旧会话
# 继续最近的会话
claude --continue
# 继续并添加提示
claude --continue --print "继续我的任务"
# 显示会话选择器
claude --resume
10. 使用 Git Worktrees 进行并行工作
# 创建新 worktree
git worktree add ../project-feature-a -b feature-a
# 在 worktree 中运行 Claude
cd ../project-feature-a
claude
# 在另一个 worktree 中
cd ../project-bugfix
claude
# 管理 worktrees
git worktree list
git worktree remove ../project-feature-a
11. 文件和目录引用
使用 @ 快速引用文件而不等待 Claude 读取:
# 引用单个文件
> 解释 @src/utils/auth.js 中的逻辑
# 引用目录
> @src/components 的结构是什么?
# 引用多个文件
> 比较 @src/old-version.js 和 @src/new-version.js
12. 将 Claude Code 用作 Unix 工具
添加到构建脚本:
{
"scripts": {
"lint:claude": "claude -p 'you are a linter. review changes vs main and report issues related to typos. report filename and line number.'"
}
}
管道输入/输出:
cat build-error.txt | claude -p '简洁解释这个构建错误的根本原因' > output.txt
控制输出格式:
# 文本格式(默认)
cat data.txt | claude -p 'summarize this' --output-format text
# JSON 格式
cat code.py | claude -p 'analyze for bugs' --output-format json
# 流式 JSON
cat log.txt | claude -p 'parse for errors' --output-format stream-json
MCP 服务器相关
什么是 MCP?
Model Context Protocol (MCP) 是一个开源标准,允许 Claude Code 连接到外部工具和数据源。MCP 服务器可以访问数百个工具。
安装 MCP 服务器
选项 1: 添加远程 HTTP 服务器(推荐)
# 基本语法
claude mcp add --transport http <名称> <URL>
# 示例:连接 Notion
claude mcp add --transport http notion https://mcp.notion.com/mcp
# 带认证头
claude mcp add --transport http secure-api https://api.example.com/mcp \
--header "Authorization: Bearer your-token"
选项 2: 添加远程 SSE 服务器(已弃用)
claude mcp add --transport sse <名称> <URL>
# 示例:连接 Asana
claude mcp add --transport sse asana https://mcp.asana.com/sse
选项 3: 添加本地 Stdio 服务器
# 基本语法
claude mcp add --transport stdio <名称> [参数...]
# 示例:Airtable
claude mcp add --transport stdio airtable --env AIRTABLE_API_KEY=YOUR_KEY \
-- npx -y airtable-mcp-server
注意:-- 分隔符分离 Claude 的选项和服务器命令。
管理 MCP 服务器
# 列出所有服务器
claude mcp list
# 获取特定服务器的详情
claude mcp get github
# 移除服务器
claude mcp remove github
# 在 Claude Code 中检查服务器状态
/mcp
MCP 安装作用域
| 作用域 | 位置 | 用途 |
|---|---|---|
| 本地 (默认) | ~/.claude.json |
仅限当前项目 |
| 项目 | .mcp.json |
团队共享(版本控制) |
| 用户 | ~/.claude.json |
跨所有项目 |
选择正确的作用域:
# 本地作用域(默认)
claude mcp add --transport http stripe https://mcp.stripe.com
# 显式指定本地
claude mcp add --transport http stripe --scope local https://mcp.stripe.com
# 项目作用域(共享)
claude mcp add --transport http paypal --scope project https://mcp.paypal.com/mcp
# 用户作用域(所有项目)
claude mcp add --transport http hubspot --scope user https://mcp.hubspot.com/anthropic
常用 MCP 服务器示例
# LiveKit 文档(推荐用于本项目)
claude mcp add --transport http livekit-docs https://docs.livekit.io/mcp
# 监控 Sentry 错误
claude mcp add --transport http sentry https://mcp.sentry.dev/mcp
# 连接 GitHub
claude mcp add --transport http github https://api.githubcopilot.com/mcp/
# 查询 PostgreSQL 数据库
claude mcp add --transport stdio db -- npx -y @bytebase/dbhub \
--dsn "postgresql://readonly:pass@prod.db.com:5432/analytics"
MCP 命令作为斜杠命令
MCP 服务器可以公开提示作为斜杠命令:
# 发现可用的提示
/mcp__github__list_prs
# 带参数的提示
/mcp__github__pr_review 456
/mcp__jira__create_issue "Bug 标题" high
使用 MCP 资源
MCP 服务器可以公开可通过 @ 提及引用的资源:
# 列出可用资源
@ # 显示来自所有连接的 MCP 服务器的资源
# 引用特定资源
> 能否分析 @github:issue://123 并提议修复?
# 多个资源引用
> 比较 @postgres:schema://users 和 @docs:file://database/user-model
MCP 权限和通配符
为 MCP 工具配置权限:
# 允许特定服务器的所有工具
Bash(mcp__github)
# 允许特定工具
Bash(mcp__github__get_issue)
Bash(mcp__github__list_issues)
从 Claude Desktop 导入
# 导入已配置的服务器
claude mcp add-from-claude-desktop
# 选择要导入的服务器(交互式对话框)
环境变量扩展
.mcp.json 支持环境变量扩展:
{
"mcpServers": {
"api-server": {
"type": "http",
"url": "${API_BASE_URL:-https://api.example.com}/mcp",
"headers": {
"Authorization": "Bearer ${API_KEY}"
}
}
}
}
配置和设置选项
设置文件位置
| 类型 | 位置 | 说明 |
|---|---|---|
| 用户设置 | ~/.claude/settings.json |
应用于所有项目的全局设置 |
| 项目设置 | .claude/settings.json |
团队共享的项目设置(版本控制) |
| 本地设置 | .claude/settings.local.json |
个人项目设置(不版本控制) |
| 企业设置 | managed-settings.json |
由管理员分发的企业策略 |
常用配置选项
基本示例:
{
"model": "claude-opus-4-5-20251101",
"permissions": {
"allow": [
"Bash(npm run lint)",
"Bash(npm run test:*)",
"Read(~/.zshrc)"
],
"deny": [
"Bash(curl:*)",
"Read(./.env)",
"Read(./.env.*)",
"Read(./secrets/**)"
]
},
"env": {
"CLAUDE_CODE_ENABLE_TELEMETRY": "1"
}
}
完整设置选项
| 选项 | 说明 | 示例 |
|---|---|---|
model |
默认模型 | "claude-opus-4-5-20251101" |
permissions |
权限设置(allow, deny, ask) | 见下表 |
env |
环境变量 | {"FOO": "bar"} |
hooks |
钩子配置 | {"PreToolUse": {...}} |
disableAllHooks |
禁用所有钩子 | true |
statusLine |
自定义状态线 | {"type": "command", "command": "..."} |
outputStyle |
输出风格 | "Explanatory" |
attribution |
提交和 PR 归属 | {"commit": "...", "pr": "..."} |
sandbox |
沙箱配置 | {"enabled": true} |
alwaysThinkingEnabled |
启用扩展思考 | true |
forceLoginMethod |
强制登录方法 | "claudeai" 或 "console" |
权限配置详解
权限模式:
{
"permissions": {
"defaultMode": "acceptEdits" // 或 "plan", 或 "bypassPermissions"
}
}
权限规则示例:
{
"permissions": {
"allow": [
"Bash(git diff:*)",
"Bash(npm run:*)",
"Read(src/**)"
],
"ask": [
"Bash(git push:*)"
],
"deny": [
"Bash(rm:*)",
"Read(.env)",
"Read(secrets/**)"
]
}
}
环境变量配置
在 settings.json 中设置环境变量:
{
"env": {
"NODE_ENV": "development",
"API_KEY": "your-key",
"DEBUG": "true"
}
}
关键环境变量:
| 变量 | 用途 |
|---|---|
ANTHROPIC_API_KEY |
API 密钥 |
MAX_THINKING_TOKENS |
扩展思考的 Token 预算 |
DISABLE_TELEMETRY |
禁用遥测 |
MCP_TIMEOUT |
MCP 服务器启动超时(毫秒) |
MAX_MCP_OUTPUT_TOKENS |
MCP 工具输出限制(默认 25000) |
BASH_DEFAULT_TIMEOUT_MS |
Bash 命令默认超时 |
Bash 工具环境设置
环境变量在 Bash 命令间 不 保留。有三种选项:
选项 1: 在启动 Claude Code 前激活:
conda activate myenv
claude
选项 2: 设置 CLAUDE_ENV_FILE:
export CLAUDE_ENV_FILE=/path/to/env-setup.sh
claude
其中 env-setup.sh 包含:
conda activate myenv
export MY_VAR=value
选项 3: 使用 SessionStart 钩子:
{
"hooks": {
"SessionStart": [{
"matcher": "startup",
"hooks": [{
"type": "command",
"command": "echo 'conda activate myenv' >> \"$CLAUDE_ENV_FILE\""
}]
}]
}
}
Subagent 配置
位置:
- 用户:
~/.claude/agents/ - 项目:
.claude/agents/
创建自定义 Subagent:
# 运行命令
/agents
# 选择"创建新 subagent"并定义:
# - 唯一标识符(如 code-reviewer)
# - 何时使用此代理
# - 可访问的工具
# - 系统提示
插件配置
{
"enabledPlugins": {
"formatter@company-tools": true,
"deployer@company-tools": true
},
"extraKnownMarketplaces": {
"company-tools": {
"source": "github",
"repo": "company/claude-plugins"
}
}
}
沙箱配置
为 Bash 命令启用文件系统和网络隔离:
{
"sandbox": {
"enabled": true,
"autoAllowBashIfSandboxed": true,
"excludedCommands": ["docker"],
"network": {
"allowUnixSockets": ["/var/run/docker.sock"],
"allowLocalBinding": true
}
},
"permissions": {
"deny": [
"Read(.envrc)",
"Read(~/.aws/**)"
]
}
}
配置优先级
从高到低:
- 企业管理设置 (managed-settings.json) - 最高
- 命令行参数
- 本地项目设置 (.claude/settings.local.json)
- 共享项目设置 (.claude/settings.json)
- 用户设置 (~/.claude/settings.json) - 最低
Hooks 钩子功能
Hooks 概述
Hooks 是在 Claude Code 生命周期中特定点执行的自定义 shell 命令,提供对 Claude Code 行为的确定性控制。
支持的 Hook 事件
| 事件 | 触发时机 | 用途 |
|---|---|---|
| PreToolUse | 工具调用前 | 验证、阻止或修改工具调用 |
| PostToolUse | 工具调用后 | 自动格式化、日志记录 |
| PermissionRequest | 权限对话显示时 | 自动批准/拒绝 |
| UserPromptSubmit | 用户提交提示前 | 验证、添加上下文 |
| Notification | Claude Code 发送通知时 | 自定义通知 |
| Stop | Claude Code 完成响应时 | 清理、日志 |
| SubagentStop | Subagent 任务完成时 | 结果处理 |
| PreCompact | 压缩操作前 | 自定义压缩逻辑 |
| SessionStart | 会话启动或恢复时 | 环境设置 |
| SessionEnd | 会话结束时 | 清理 |
配置 Hooks
使用 /hooks 命令打开配置界面,或直接编辑 .claude/settings.json 或 ~/.claude/settings.json。
Hooks 快速入门
日志 Bash 命令:
- 运行
/hooks并选择PreToolUse - 添加匹配器
Bash - 添加钩子命令:
jq -r '"\(.tool_input.command) - \(.tool_input.description // "无描述")"' >> ~/.claude/bash-command-log.txt
- 保存为用户设置
- 测试:运行命令,检查日志文件
常见 Hooks 用例
代码格式化钩子
{
"hooks": {
"PostToolUse": [
{
"matcher": "Edit|Write",
"hooks": [
{
"type": "command",
"command": "jq -r '.tool_input.file_path' | { read file_path; if echo \"$file_path\" | grep -q '\\.ts$'; then npx prettier --write \"$file_path\"; fi; }"
}
]
}
]
}
}
文件保护钩子
{
"hooks": {
"PreToolUse": [
{
"matcher": "Edit|Write",
"hooks": [
{
"type": "command",
"command": "python3 -c \"import json, sys; data=json.load(sys.stdin); path=data.get('tool_input',{}).get('file_path',''); sys.exit(2 if any(p in path for p in ['.env', 'package-lock.json', '.git/']) else 0)\""
}
]
}
]
}
}
自定义通知钩子
{
"hooks": {
"Notification": [
{
"matcher": "",
"hooks": [
{
"type": "command",
"command": "notify-send 'Claude Code' 'Awaiting your input'"
}
]
}
]
}
}
Hook 输入和输出
简单输出 (Exit Code):
- Exit code 0: 允许
- Exit code 2: 阻止(仅 PreToolUse)
高级输出 (JSON):
{
"decision": "allow",
"message": "操作已批准",
"addedContext": "额外的上下文信息"
}
提示 Bash 钩子脚本
#!/bin/bash
# 从 stdin 读取 JSON
INPUT=$(cat)
# 提取特定字段
COMMAND=$(echo "$INPUT" | jq -r '.tool_input.command')
FILE_PATH=$(echo "$INPUT" | jq -r '.tool_input.file_path')
# 执行逻辑
if [[ "$COMMAND" == "rm"* ]]; then
echo "删除命令被阻止" >&2
exit 2 # 阻止
fi
exit 0 # 允许
环境变量持久化
在 SessionStart 钩子中设置环境变量:
{
"hooks": {
"SessionStart": [{
"matcher": "startup",
"hooks": [{
"type": "command",
"command": "echo 'export MY_VAR=value' >> \"$CLAUDE_ENV_FILE\""
}]
}]
}
}
Hook 安全考虑
重要:钩子以你的环境凭证运行。遵循最佳实践:
- ✅ 验证 Hook 代码
- ✅ 限制文件权限
- ✅ 避免在 Hooks 中硬编码凭证
- ✅ 定期审计 Hook 配置
- ❌ 不要从不信任的源复制 Hooks
- ❌ 不要在 Hooks 中处理敏感数据
快速参考
最常用的 10 个命令
| 序号 | 命令 | 用途 |
|---|---|---|
| 1 | /model |
切换模型 |
| 2 | /config |
打开配置 |
| 3 | /memory |
编辑项目记忆 |
| 4 | /agents |
管理 subagents |
| 5 | /mcp |
管理 MCP 服务器 |
| 6 | /cost |
查看成本统计 |
| 7 | /review |
代码审查 |
| 8 | /init |
初始化项目文档 |
| 9 | /rewind |
撤销改动 |
| 10 | /help |
查看所有命令 |
最重要的键盘快捷键
| 快捷键 | 功能 |
|---|---|
Ctrl+C |
取消 |
Ctrl+O |
切换详细输出 |
Ctrl+R |
反向历史搜索 |
Shift+Tab |
切换权限模式 |
Esc + Esc |
撤销改动 |
\ + Enter |
多行输入 |
配置文件位置
~/.claude/ # 用户目录
├── settings.json # 用户全局设置
├── commands/ # 个人斜杠命令
└── agents/ # 个人 subagents
.claude/ # 项目目录
├── settings.json # 项目共享设置
├── settings.local.json # 项目个人设置
├── commands/ # 项目斜杠命令
├── agents/ # 项目 subagents
├── hooks/ # Hook 脚本
└── CLAUDE.md # 项目记忆/文档
命令行参数速查
# 基本使用
claude # 交互模式
claude -p "提示" # 单次提问
claude --continue # 继续上次会话
claude --resume # 选择会话恢复
# 模式选择
claude --permission-mode plan # 计划模式
claude --dangerously-skip-permissions # 跳过权限检查
# 输出控制
claude -p "..." --output-format text # 文本输出
claude -p "..." --output-format json # JSON 输出
# MCP 管理
claude mcp list # 列出 MCP 服务器
claude mcp add --transport http <name> <url> # 添加服务器
claude mcp remove <name> # 移除服务器
快速开始检查表
- 运行
/init创建项目 CLAUDE.md - 运行
/config配置模型和权限 - 创建
.claude/settings.json定义项目权限 - 设置 MCP 服务器(如果需要)
- 配置钩子用于自动化(如格式化)
- 创建自定义斜杠命令用于常见任务
- 配置 IDE 集成(VS Code 或 JetBrains)
附录:常见问题解答
Q: 如何查看 Claude 的思考过程?
A: 按 Ctrl+O 切换详细输出模式,可以看到工具调用详情和思考过程(灰色斜体文本)。
Q: 如何让 Claude 记住项目特定信息?
A: 使用 /memory 命令编辑 CLAUDE.md 文件,或在消息开头使用 # 前缀快速添加内容到记忆中。
Q: 如何在不同模型间快速切换?
A: 使用 /model 命令或按 Option+P (Mac) / Alt+P (Windows/Linux) 快捷键。
Q: 如何安全地测试危险操作?
A: 使用 /sandbox 命令启用沙箱模式,或使用计划模式 (--permission-mode plan) 先预览操作。
Q: 如何批量处理多个文件?
A: 使用 @ 引用多个文件,或使用自定义斜杠命令批量执行操作。
更多推荐


所有评论(0)