<!-- title: 斜杠命令与快捷键速查手册 -->

# Claude Code 斜杠命令与快捷键速查手册

## 概述

本教程面向**第一次打开 Claude Code 终端、面对一个空白输入框不知道从哪下手**的零基础用户。学完之后你将能够：熟练使用键盘在对话中导航、回溯、切换模式；准确记住并调用 20+ 个高频内置斜杠命令；用三分钟把一个重复输入的提示词封装成 `/自己的命令`。本文不涉及插件开发，只解决"如何把界面用顺"这件最基础却最被忽略的事。适用人群：刚装好 Claude Code、能跑通但效率低下的工程师、学生、运维与脚本爱好者。

## 前置条件

- 已完成 Claude Code 安装并能进入交互式界面（输入 `claude` 后出现提示符）。
- 一个可被打开的项目目录（空目录也行）。
- 终端环境：macOS Terminal / iTerm2、Linux 终端、或 Windows Terminal + WSL 任一即可。
- 建议先执行一次 `/terminal-setup`，以便启用 `Shift+Enter` 多行输入（下文详述）。

---

## 一、先看清界面的三种输入方式

很多新手把 Claude Code 当成"只能打字聊天"的对话框，其实它的输入框同时接受三种语法，分清这三者是后续一切效率的基础。

| 输入方式 | 语法 | 作用 | 何时用 |
|---------|------|------|--------|
| 自然语言 | 直接打字 | 把请求交给模型推理 | 描述需求、提开放问题 |
| 文件引用 | `@路径` | 把文件/目录内容注入上下文 | 指定要读的源码或文档 |
| 斜杠命令 | `/命令` | 触发内置或自定义的确定动作 | 清空上下文、切换模型、跑脚本 |

**预期结果**：在输入框键入 `/` 会立即弹出一个可搜索的命令菜单；键入 `@` 会弹出当前目录的文件选择器。这两个符号是 Claude Code 交互的"两个魔法字符"，记住它们就掌握了界面的一半。

**常见问题**：输入 `/` 没有弹出菜单？通常是版本过旧，用 `claude update` 升级后再试。

---

## 二、核心快捷键：从"只会按回车"到"双手不离键盘"

快捷键是入门用户提升最快的一环。下面按使用频率从高到低分组，**第一组每天会用几十次**。

### 2.1 输入与导航（每天用几十次）

| 按键 | 动作 |
|------|------|
| `Enter` | 发送消息 |
| `\` + `Enter` | 换行但不发送（写多行提示词） |
| `Shift+Tab` | 循环切换模式：普通 → 自动接受 → 计划模式 |
| `Ctrl+R` | 搜索历史命令 |
| `Ctrl+G` | 打开外部编辑器撰写长提示词 |

> 💡 `Shift+Enter` 在某些终端默认不生效。首次使用请运行 `/terminal-setup`，它会为 iTerm2、VS Code 集成终端等写入正确的转义序列，配置后即可用 `Shift+Enter` 软换行。

### 2.2 中断与回溯（出错时救命）

这一组是新手最容易忽略、却最能在关键时刻救场的组合。

| 按键 | 动作 |
|------|------|
| `Esc` | 中断当前生成（软停） |
| `Esc Esc` | 打开回退菜单，可回到对话或代码的任意历史点 |
| `Ctrl+C` | 取消当前操作（硬停） |
| `Ctrl+D` | 退出 Claude Code |

**关键概念——`Esc Esc` 的回退菜单**：这是 Claude Code 区别于普通聊天工具的杀手锏。当模型改坏了一个文件、或你发现对话走到错误方向时，连按两次 `Esc` 会弹出一张"时间线"，你不仅能撤回某轮对话，还能把代码改动一并回滚到那个时点。对新手而言，这意味着**你可以放心让 Claude 大胆改代码**——因为随时能回退。

**预期结果**：让模型跑一个会改多个文件的任务，中途连按 `Esc Esc`，你会看到带时间戳的列表，选中某项后工作区恢复到该状态。

**常见问题**：`Ctrl+C` 和 `Esc` 有何区别？`Esc` 是"温柔打断"，告诉模型停下手并保留已完成部分；`Ctrl+C` 是"强制取消"，可能中断到一半的操作。日常优先用 `Esc`。

### 2.3 模式切换（`Shift+Tab` 的三态）

`Shift+Tab` 在三种模式间循环，理解这三种模式是"安全使用 Claude Code"的核心：

```mermaid
flowchart LR
    A["普通模式<br/>改动需逐个确认"] -->|Shift+Tab| B["自动接受模式<br/>自动应用编辑"]
    B -->|Shift+Tab| C["计划模式<br/>只调研不改动"]
    C -->|Shift+Tab| A
    style A fill:#e8f4ff,stroke:#2b7fff
    style B fill:#fff4e8,stroke:#ff8c2b
    style C fill:#f0e8ff,stroke:#7b2bff
```

- **普通模式**：每次写文件、跑命令前都会征求你确认。**新手默认用这个最安全**。
- **自动接受模式**：自动应用所有编辑，不再逐个确认。适合你信任的、范围明确的小改动。
- **计划模式**：只读不写，模型先调研并给出方案，等你批准再动手。适合复杂任务开干前的"先想清楚"。

**建议**：零基础阶段请坚持留在普通模式，等你熟悉权限系统后再尝试自动接受模式。

---

## 三、内置斜杠命令：按场景分类的速查表

内置命令数量会随版本增长，下面按"会话控制—配置—开发—高级"四类列出**新手最该先记住的子集**。

### 3.1 会话控制（管上下文与成本）

| 命令 | 动作 |
|------|------|
| `/clear` | 清空对话历史，全新开始 |
| `/compact [提示]` | 压缩上下文以节省 token，可加提示告诉它"保留什么" |
| `/rewind` | 回退对话和/或代码改动（等价于 `Esc Esc` 的菜单入口） |
| `/cost` | 显示本次会话的花费与 token 用量 |
| `/usage` | 显示套餐用量与速率限制 |
| `/context` | 可视化当前 token 占用情况 |

> 💡 **新手最常犯的错**：一个对话开到底，几十轮后上下文爆炸、回答质量下降。养成习惯——每完成一个独立任务就 `/clear` 一次，或用 `/compact` 把历史压成摘要再继续。

### 3.2 配置（一次设好受益终身）

| 命令 | 动作 |
|------|------|
| `/config` | 打开设置面板 |
| `/model` | 在 Sonnet / Opus / Haiku 间切换 |
| `/permissions` | 查看与更新工具权限 |
| `/keybindings` | 打开快捷键配置文件，自定义所有键位 |
| `/vim` | 切换输入的 vim 模式 |
| `/terminal-setup` | 配置 `Shift+Enter` 多行输入 |

**模型选择入门建议**：日常编码用 Sonnet（快且便宜），遇到难 bug、架构设计用 Opus（最强），简单机械任务用 Haiku（最省）。用 `/model` 随时切，不必全局固定。

### 3.3 开发（和代码直接打交道）

| 命令 | 动作 |
|------|------|
| `/init` | 为项目生成 `CLAUDE.md` —— **新项目第一件事** |
| `/memory` | 查看与编辑项目记忆文件 |
| `/review` | 对当前改动做代码审查 |
| `/doctor` | 环境诊断与健康检查 |
| `/agents` | 管理子代理 |
| `/mcp` | 管理 MCP 服务器 |

> 💡 进入任何新仓库，第一步先 `/init`。它会扫描项目并生成 `CLAUDE.md`，让 Claude 之后每次都"读懂"你的项目约定（构建命令、代码风格、目录结构）。这是一次性投入、长期受益的动作。

### 3.4 高级（用到再说）

| 命令 | 动作 |
|------|------|
| `/insights` | 生成 HTML 使用报告 |
| `/pr_comments` | 拉取 GitHub PR 评论作为上下文 |
| `/install-github-app` | 安装自动化 PR 审查 |
| `/tasks` | 持久化任务清单管理 |
| `/export [文件]` | 把对话导出到文件或剪贴板 |

---

## 四、动手做：创建你的第一个自定义斜杠命令

内置命令解决通用需求，自定义命令解决"你个人反复打的提示词"。这是入门阶段性价比最高的定制动作——**一个 markdown 文件就是一个命令**。

### 步骤 1：决定放哪里

命令文件的位置决定它的作用域：

```
.claude/commands/        # 项目级命令——提交到 git，全团队共享
~/.claude/commands/      # 个人命令——跟随你跨项目，不进 git
```

### 步骤 2：建一个项目级命令

在项目根目录执行：

```bash
mkdir -p .claude/commands
cat > .claude/commands/review.md <<'EOF'
审查当前已暂存的改动，重点检查：bug、缺失的错误处理、安全隐患。
按严重程度（高/中/低）给发现排序，每条给出文件名与行号。
EOF
```

**预期结果**：在 Claude Code 会话里输入 `/review`，文件内容会作为提示词被发送，模型即按你的要求审查暂存改动。机制就这么简单——**文件即提示词**。

### 步骤 3：加参数让它变灵活

静态命令只能干一件事。用 `$ARGUMENTS` 占位符，命令就能接收你跟在后面输入的内容：

```markdown
查看本仓库的 GitHub issue #$ARGUMENTS。
找到相关代码，解释可能的成因，并在新分支上提出修复方案。
```

把它存为 `.claude/commands/fix-issue.md`，之后输入 `/fix-issue 482`，`482` 就会被代入提示词。**一个命令，任意 issue 号**——这正是把"固定片段"升级成"小工具"的关键。

> ⚠️ `$ARGUMENTS` 的确切语法（包括是否支持多个位置参数）可能随版本变化，构建依赖它的命令前请用 `/help` 或官方文档确认当前写法。

### 步骤 4：用子目录分组（命令变多后）

命令超过五六个就该分组。子目录会成为命令的命名空间：

```
.claude/commands/
  git/
    review.md      ->  /git:review
    pr-desc.md     ->  /git:pr-desc
  docs/
    update.md      ->  /docs:update
```

按领域分组——`git`、`docs`、`testing`、`deploy`——让斜杠菜单在命令变多时仍可读。

---

## 五、边界判断：什么时候用命令、Skill 还是直接打字

这是入门用户最容易混淆的一点：命令、Skill、MCP 都"执行指令"，区别在于**由谁决定何时执行**。

```mermaid
flowchart TD
    Q["我有一个重复的需求"] --> Q1{"我想主动触发<br/>还是自动应用？"}
    Q1 -->|"主动触发"| C["斜杠命令<br/>/name，每次手敲"]
    Q1 -->|"自动应用"| Q2{"是行为约定<br/>还是接外部数据？"}
    Q2 -->|"行为约定"| S["Skill<br/>任务匹配时自动启用"]
    Q2 -->|"接外部数据/工具"| M["MCP<br/>模型按需调用工具"]
    style C fill:#e8f4ff,stroke:#2b7fff
    style S fill:#fff4e8,stroke:#ff8c2b
    style M fill:#f0e8ff,stroke:#7b2bff
```

| 形态 | 触发方 | 典型场景 |
|------|--------|----------|
| 斜杠命令 | 你手动输入 | `/deploy-checklist` 走发布清单——你想在"某个时刻"主动跑 |
| Skill | 模型自动匹配 | "提交信息永远用我们的格式"——希望 Claude 每次都遵守，不必提醒 |
| MCP 工具 | 模型按需调用 | 查数据库、调外部 API——需要连入 Claude 没有的外部能力 |
| 直接打字 | 你即兴 | 一次性需求，不复用 |

一句话记忆：**想要"显式控制"用命令；想要"自动行为"用 Skill；想要"接外部世界"用 MCP。**

---

## 六、实战案例：给一个真实项目装上"命令工具箱"

假设你接手了一个 Node.js 后端项目，目标是十分钟内配好一套团队共享的命令。

**1. 初始化项目记忆**

进入项目目录，启动 `claude`，输入：

```
/init
```

确认生成的 `CLAUDE.md` 包含构建命令（如 `npm test`）、目录约定、代码风格。

**2. 建立团队命令目录**

```bash
mkdir -p .claude/commands/{git,docs,test}
```

**3. 写四个核心命令**

`.claude/commands/git/commit.md`：

```markdown
为当前已暂存的改动写 git 提交信息。
使用 Conventional Commits：type(scope): subject。
祈使语气，subject 不超过 72 字符，结尾不加句号。
仅在改动需要背景时才加简短 body。
```

`.claude/commands/git/pr-desc.md`：

```markdown
基于当前分支相对主分支的全部改动，起草一份 PR 描述。
包含：改动摘要、动机、测试方式、需要 reviewer 重点看的地方。
```

`.claude/commands/test/for-file.md`：

```markdown
为文件 $ARGUMENTS 按本项目的测试约定编写单元测试。
优先复用现有测试工具与 mock 方式，不要引入新依赖。
```

`.claude/commands/docs/explain.md`：

```markdown
向一位刚入职的新人解释 $ARGUMENTS 这个文件/模块。
先讲它在整体架构中的位置，再讲关键函数，最后给出三个常见修改场景。
```

**4. 把目录提交进 git**

```bash
git add .claude/commands
git commit -m "chore: add shared Claude Code slash commands"
```

**预期结果**：之后任何团队成员 clone 该仓库并启动 Claude Code，输入 `/` 就能看到 `/git:commit`、`/git:pr-desc`、`/test:for-file`、`/docs:explain` 这套命令。代码审查、写提交、写测试、写文档四件高频琐事，各被压缩成一次按键。

**验收检查**：输入 `/git:commit` 应直接产出符合 Conventional Commits 的信息；输入 `/test:for-file src/auth.ts` 应生成遵循项目约定的测试。若命令没出现在菜单里，检查文件是否真的在 `.claude/commands/` 下、扩展名是否为 `.md`。

---

## 七、安全提醒：命令是提示词，不是沙箱

最后一个新手必须知道的真相：**斜杠命令本质是一段提示词，它可以让 Claude 跑命令、改文件、甚至 push 代码**（只要当前会话权限允许）。因此：

- 分享给团队的项目级命令，请在 PR 中像审查代码一样审查命令文件内容。
- 不要把会执行破坏性操作（如 `rm -rf`、强制推送）的指令写进共享命令而不加确认。
- 个人命令放 `~/.claude/commands/`，不要混进会被提交的项目目录。

记住这条原则：**写一条命令，等同于你以后每次亲手输入那段指令**——所以请只把你会亲自敲的东西固化成命令。

---

## 工作流程总览

```mermaid
flowchart TD
    Start["启动 claude 进入项目"] --> Init["/init 生成 CLAUDE.md"]
    Init --> Setup["/terminal-setup 启用 Shift+Enter"]
    Setup --> Work["日常编码"]
    Work --> Daily{"高频操作？"}
    Daily -->|"是"| Custom["封装成 .claude/commands/命令"]
    Daily -->|"偶发"| Type["直接打字或 @引用"]
    Work --> Long{"上下文变长？"}
    Long -->|"是"| Compact["/compact 或 /clear"]
    Long -->|"否"| Cost["/cost 监控花费"]
    Custom --> Work
    Compact --> Work
    Cost --> Work
    Work --> Oops{"改坏了？"}
    Oops -->|"Esc Esc"| Rewind["回退到任意时点"]
    Rewind --> Work
    style Init fill:#e8f4ff,stroke:#2b7fff
    style Custom fill:#fff4e8,stroke:#ff8c2b
    style Rewind fill:#ffe8e8,stroke:#ff2b2b
```

## 延伸阅读

- **官方交互模式文档**：`code.claude.com/docs/en/interactive-mode`，权威的快捷键与输入模式清单。
- **官方斜杠命令文档**：`code.claude.com/docs/en/agent-sdk/slash-commands`，命令机制与 `$ARGUMENTS` 语法定义。
- **社区速查表**：GitHub 上的 Claude Code Cheat Sheet（mhmzdev 维护），聚合命令、快捷键与 CLI 标志。
- 进阶方向：熟悉命令后，下一步可学习 **Skill 自动行为** 与 **MCP 外部工具接入**，构成"命令—Skill—MCP"的完整能力三角。

## 训练营适用性评估

- **适合训练营类型**：Claude Code / AI 编程工具入门营、企业研发效能提升营、终端工具链扫盲营。零基础友好，全程不需要写任何复杂代码。
- **预计教学时长**：讲授 45 分钟 + 动手实操 30 分钟。前 30 分钟讲界面与快捷键，后 45 分钟带学员现场建一套团队命令工具箱。
- **考核方式**：每位学员在指定仓库中提交 `.claude/commands/` 下至少 3 条可运行命令，并通过 `/命令` 实际触发验收。
- **前置依赖**：仅要求学员能进入 Claude Code 交互界面，无其他前置课程。

## 参考来源

1. [Claude Code Cheat Sheet (GitHub Gist, mhmzdev)](https://gist.github.com/mhmzdev/5dea126e51d9f6e4b49bafe746de60b1) — 社区维护的 2026 版速查表，聚合快捷键、斜杠命令与 CLI 标志。
2. [Interactive mode — Claude Code Docs](https://code.claude.com/docs/en/interactive-mode) — 官方交互模式文档，键盘快捷键与输入模式的权威定义。
3. [Slash Commands in the SDK — Claude Code Docs](https://code.claude.com/docs/en/agent-sdk/slash-commands) — 官方斜杠命令机制说明，含 `$ARGUMENTS` 语法。
4. [How to Create Custom Slash Commands in Claude Code — MCSA Guru](https://mcsaguru.com/create-custom-slash-commands-claude-code) — 自定义命令的文件位置、命名空间、命令与 Skill 边界的实操指南。
5. [Claude Code Keyboard Shortcuts: Complete Reference — explainx.ai](https://www.explainx.ai/blog/claude-code-keyboard-shortcuts-complete-reference-2026) — 2026 年快捷键完整参考，表格优先、便于速查。

> [!tip] 51学通信知识星球
> **星主：爱卫生**（微信：gprshome201101）——公众号「51学通信」创办者，19 年通信行业运维与讲师经验，著有《GPRS网络信令实例详解》《EPC原理与实践》《5G核心网原理与实践》三本纸质书（各大电商平台有售）。
> **星球定位**：深耕 5G 核心网、IMS、NFV/AI、云原生等 ICT 领域，主打运维岗位与信令分析。
> **当前规模**：5200 篇主题 / 990 个回答，198 元/年。
> **加入福利**：加入星球后请加爱卫生微信，拉您进知识星球年度陪伴与答疑群——不限量回复您的各种问题，另有群内分享。
> **AI 加持**：51学通信知识星球已作为 skill 接入 WorkBuddy，使用 deepseek-4-flash 在海量星球帖子中精准找贴、找视频、找 FAQ 和案例，做总结、找文档和 PPT 等场景全覆盖。

![51学通信知识星球海报-扫码加入](https://wiki.500nian.com/images/zhixingqiu_qrcode.png)
