命令参考
CLI 命令、标志、斜杠命令、键盘快捷键的完整参考
CLI 命令
| 命令 | 描述 |
|---|---|
claude | 在当前目录启动交互式 REPL |
claude "task" | 以初始提示启动交互式 REPL |
claude -p "task" | 非交互(无头)模式;打印响应后退出 |
claude -c | 继续当前目录中最近的对话 |
claude -c "task" | 以新提示继续最近的对话 |
claude -r <id> | 按 ID 恢复特定会话 |
claude -r <name> | 按名称恢复特定会话 |
CLI 标志
会话与输入
| 标志 | 描述 |
|---|---|
--continue, -c | 继续最近的对话 |
--resume, -r <id> | 按 ID 或名称恢复会话 |
--fork-session | 创建新会话 ID 并保留对话历史(与 --resume 或 --continue 配合使用) |
--from-pr <number> | 恢复与特定拉取请求关联的会话;接受 PR 编号或 URL |
--session-name <name> | 为当前会话命名 |
--model <model> | 覆盖默认模型 |
--agent <name> | 以自定义代理作为主线程运行(覆盖代理设置) |
--agents <json> | 通过 JSON 动态定义自定义子代理 |
--permission-mode <mode> | 设置权限模式(default、plan、auto-edit、full-auto、bypassPermissions) |
--teleport | 在本地终端恢复 Web 会话 |
--teammate-mode <mode> | 设置代理团队显示方式:auto(默认)、in-process 或 tmux |
系统提示
| 标志 | 描述 |
|---|---|
--system-prompt <text> | 用提供的文本完全替换系统提示(仅限无头模式) |
--system-prompt-file <path> | 用文件内容完全替换系统提示(仅限无头模式) |
--append-system-prompt <text> | 在默认系统提示末尾添加自定义指令(交互模式和无头模式均可) |
--append-system-prompt-file <path> | 将文件内容追加到默认系统提示末尾(交互模式和无头模式均可) |
输出控制(无头模式)
| 标志 | 描述 |
|---|---|
--output-format text | 纯文本输出(-p 的默认值) |
--output-format json | 包含 result、cost、duration 和 session_id 的 JSON 对象 |
--output-format stream-json | 换行分隔的 JSON 流,用于实时处理 |
--max-turns <n> | 限制代理轮次数量 |
--budget-tokens <n> | 设置会话的令牌预算 |
--fallback-model <model> | 当主模型不可用时使用的备用模型 |
权限标志
| 标志 | 描述 |
|---|---|
--allowedTools <tools> | 逗号分隔的无需提示即允许的工具列表 |
--disallowedTools <tools> | 逗号分隔的拒绝使用的工具列表 |
--dangerously-skip-permissions | 跳过所有权限提示(仅在沙盒环境中使用) |
--permission-prompt-tool <mcp_tool> | 将权限决策委托给 MCP 工具 |
其他
| 标志 | 描述 |
|---|---|
--verbose | 启用详细日志 |
--no-cache | 禁用提示缓存 |
--version | 打印版本并退出 |
--help | 打印帮助并退出 |
斜杠命令
| 命令 | 描述 |
|---|---|
/help | 显示可用命令和快捷键 |
/clear | 清除对话历史并重新开始 |
/compact | 手动压缩对话以回收上下文空间 |
/config | 打开或管理配置 |
/context | 以彩色网格可视化当前上下文使用情况 |
/copy | 将最近的助手响应复制到剪贴板 |
/cost | 显示令牌使用统计 |
/desktop | 将 CLI 会话移交给桌面应用程序(macOS/Windows) |
/doctor | 运行诊断以检查常见问题 |
/agents | 列出可用的子代理 |
/export [filename] | 将对话导出到文件或剪贴板 |
/hooks | 交互式钩子管理菜单(查看、添加、删除钩子) |
/ide | 在 IDE 扩展中打开当前会话 |
/init | 在当前项目中初始化 CLAUDE.md(分析代码库的构建系统、测试框架、模式) |
/mcp | 显示 MCP 服务器状态和每个服务器的令牌成本 |
/model | 在会话中切换模型;使用 Opus 时,用左右箭头调整努力级别 |
/permissions | 查看和管理权限规则 |
/plan | 直接从提示符进入计划模式 |
/rename | 重命名当前会话 |
/resume | 列出并恢复之前的会话(打开会话选择器) |
/rewind | 回退对话和/或代码,或从选定的消息进行摘要 |
/sandbox | 查看沙盒状态和设置 |
/stats | 可视化每日使用情况、会话历史、连续使用天数和模型偏好 |
/statusline | 在终端中设置状态栏 UI |
/tasks | 列出和管理后台任务 |
/teleport | 从 Web 恢复远程会话(仅限订阅者) |
/terminal-setup | 安装终端键绑定,用于多行输入和快捷键 |
/vim | 启用 vim 风格编辑模式 |
键盘快捷键
导航与控制
| 快捷键 | 操作 |
|---|---|
Enter | 发送提示 / 确认 |
Ctrl+C | 取消当前输入或生成 |
Ctrl+D | 退出 Claude Code 会话 |
Up / Down | 浏览提示历史 |
Left / Right | 在权限对话框和菜单的标签页之间切换 |
Esc Esc(双击) | 打开回退菜单:恢复代码和/或对话,或从选定消息进行摘要 |
Shift+Tab | 循环切换权限模式(plan -> default -> auto-edit -> full-auto;当代理团队激活时包括委托模式) |
会话与模型
| 快捷键 | 操作 |
|---|---|
Alt+P / Option+P | 切换模型而不清除当前提示 |
Alt+T / Option+T | 切换扩展思考模式(先运行 /terminal-setup) |
工具与输出
| 快捷键 | 操作 |
|---|---|
Ctrl+R | 反向搜索命令历史(输入查询,Ctrl+R 循环匹配,Tab/Esc 接受,Enter 接受并执行,Ctrl+C 取消) |
Ctrl+G | 在默认文本编辑器中打开提示进行编辑 |
Ctrl+O | 切换详细输出,显示详细的工具使用和执行信息 |
Ctrl+B | 将运行中的任务移至后台(tmux 用户因 tmux 前缀键需按两次) |
Ctrl+T | 切换任务列表显示(在终端状态区域显示最多 10 个任务) |
Ctrl+L | 清除终端屏幕(保留对话历史) |
Ctrl+V / Cmd+V (iTerm2) / Alt+V (Windows) | 从剪贴板粘贴图片 |
权限模式
| 模式 | 行为 |
|---|---|
| Plan | 只读;Claude 不能修改文件或运行写入命令 |
| Default | 对文件编辑和 shell 命令请求权限 |
| Auto-accept edits | 文件编辑无需询问即可执行;shell 命令仍需提示 |
| Full auto-accept | 所有操作无需询问即可执行 |
| Bypass permissions | 跳过所有检查(仅限 CLI 标志;需要沙盒环境) |
输出格式
--output-format text
纯文本响应。无头模式的默认值。适用于管道传递给其他 CLI 工具。
--output-format json
完成时返回单个 JSON 对象:
result— 响应文本cost— 令牌成本duration— 执行时间session_id— 会话标识符is_error— 布尔值
--output-format stream-json
执行过程中换行分隔的 JSON 消息。每行是一个带有 type 字段的 JSON 对象,指示事件类型(助手消息、工具使用、工具结果、系统消息)。适用于实时监控和集成。
权限规则的工具名称
| 工具 | 描述 |
|---|---|
Bash | Shell 命令执行 |
Read | 文件读取 |
Write | 文件创建/覆盖 |
Edit | 文件编辑(字符串替换) |
Glob | 文件模式匹配 |
Grep | 内容搜索 |
WebFetch | URL 获取 |
WebSearch | Web 搜索 |
Task | 子代理生成 |
Skill | 技能调用 |
NotebookEdit | 笔记本单元格编辑(.ipynb) |
TodoRead | 读取任务列表 |
TodoWrite | 写入/更新任务列表 |
权限规则使用 Tool 或 Tool(specifier) 语法配合 glob 模式。示例:Bash(git *) 匹配任何 git 命令。
权限规则的 MCP 工具模式
MCP 工具遵循 mcp__<server>__<tool> 模式。支持 glob 模式。
示例:
mcp__myserver__query— 特定服务器上的特定工具mcp__myserver__*— 特定服务器上的所有工具mcp__*__*— 所有 MCP 工具
多行输入方法
| 方法 | 快捷键 | 适用环境 |
|---|---|---|
| 快速转义 | \ + Enter | 适用于所有终端 |
| macOS 默认 | Option+Enter | macOS 上的默认方式 |
| Shift+Enter | Shift+Enter | 在 iTerm2、WezTerm、Ghostty、Kitty 中开箱即用 |
| 控制序列 | Ctrl+J | 用于多行的换行符 |
| 粘贴模式 | 直接粘贴 | 自动检测代码块、日志等 |
对于上述未列出的终端(VS Code 终端、Alacritty、Zed、Warp),运行 /terminal-setup 以安装 Shift+Enter 绑定。
Bash 模式(! 前缀)
通过在输入前加 ! 前缀,直接运行 bash 命令而无需 Claude 解释:
! npm test
! git status
! ls -la
- 将命令输出添加到对话上下文
- 显示实时进度和输出
- 不需要 Claude 解释或批准命令
- 支持 Ctrl+B 后台化长时间运行的命令
- 基于历史的自动补全:输入部分命令并按 Tab,从当前项目中之前的 ! 命令中补全
后台 Bash 命令
Claude Code 在后台运行 bash 命令,立即返回唯一的任务 ID,同时命令异步执行。
触发方式:
- 提示 Claude 在后台运行命令
- 按 Ctrl+B 将运行中的 Bash 调用移至后台(tmux 用户按两次 Ctrl+B)
行为:
- 输出被缓冲;Claude 使用 TaskOutput 工具检索
- 每个后台任务都有唯一的 ID 用于跟踪和检索
- Claude Code 退出时任务自动清理
常见的后台命令: 构建工具(webpack、vite、make)、包管理器(npm、yarn)、测试运行器(jest、pytest)、开发服务器、长时间运行的进程(docker、terraform)
禁用: 设置 CLAUDE_CODE_DISABLE_BACKGROUND_TASKS=1
提示建议
Claude 响应后,会根据对话历史和 git 历史显示灰色的建议。
- 按 Tab 接受建议,或按 Enter 接受并提交
- 开始输入以取消建议
- 作为后台请求运行,复用提示缓存(额外成本极低)
- 在缓存冷启动、第一轮之后、非交互模式和计划模式下跳过
禁用: 设置 CLAUDE_CODE_ENABLE_PROMPT_SUGGESTION=false 或在 /config 中切换
任务列表
Claude 为复杂的多步骤工作创建任务列表,在终端状态区域可见。
- Ctrl+T 切换任务列表视图(显示最多 10 个任务)
- 直接要求 Claude 显示所有任务或清除任务
- 任务在上下文压缩后依然保留
- 跨会话共享任务列表:
CLAUDE_CODE_TASK_LIST_ID=my-project claude
会话选择器快捷键
/resume 命令(或无参数的 claude --resume)打开交互式会话选择器。
| 快捷键 | 操作 |
|---|---|
Up / Down | 在会话之间导航 |
Left / Right | 展开或折叠分组的会话 |
Enter | 选择并恢复高亮的会话 |
P | 预览会话内容 |
R | 重命名高亮的会话 |
/ | 搜索以过滤会话 |
A | 在当前目录和所有项目之间切换 |
B | 筛选当前 git 分支的会话 |
Esc | 退出选择器或搜索模式 |
Vim 编辑器模式
使用 /vim 命令启用或通过 /config 永久配置。
模式切换
| 命令 | 操作 | 来源模式 |
|---|---|---|
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 | 输入末尾 |
f{char} | 跳转到字符的下一个出现位置 |
F{char} | 跳转到字符的上一个出现位置 |
t{char} | 跳转到字符下一次出现位置之前 |
T{char} | 跳转到字符上一次出现位置之后 |
; | 重复上次 f/F/t/T 移动 |
, | 反向重复上次 f/F/t/T 移动 |
在 NORMAL 模式下,如果光标位于输入的开头或末尾且无法继续移动,则箭头键会改为浏览命令历史。
编辑(NORMAL 模式)
| 命令 | 操作 |
|---|---|
x | 删除字符 |
dd | 删除行 |
D | 删除到行尾 |
dw/de/db | 删除词/删到词尾/删到词首 |
cc | 修改行 |
C | 修改到行尾 |
cw/ce/cb | 修改词/改到词尾/改到词首 |
yy/Y | 复制行 |
yw/ye/yb | 复制词/复制到词尾/复制到词首 |
p | 在光标后粘贴 |
P | 在光标前粘贴 |
>> | 缩进行 |
<< | 取消缩进行 |
J | 合并行 |
. | 重复上次修改 |
文本对象(NORMAL 模式)
文本对象与 d、c 和 y 等操作符配合使用:
| 命令 | 操作 |
|---|---|
iw/aw | 内部/围绕单词 |
iW/aW | 内部/围绕 WORD(以空白分隔) |
i"/a" | 内部/围绕双引号 |
i'/a' | 内部/围绕单引号 |
i(/a( | 内部/围绕圆括号 |
i[/a[ | 内部/围绕方括号 |
i{/a{ | 内部/围绕花括号 |