附录 A

命令参考

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 对象,指示事件类型(助手消息、工具使用、工具结果、系统消息)。适用于实时监控和集成。

权限规则的工具名称

工具描述
BashShell 命令执行
Read文件读取
Write文件创建/覆盖
Edit文件编辑(字符串替换)
Glob文件模式匹配
Grep内容搜索
WebFetchURL 获取
WebSearchWeb 搜索
Task子代理生成
Skill技能调用
NotebookEdit笔记本单元格编辑(.ipynb)
TodoRead读取任务列表
TodoWrite写入/更新任务列表

权限规则使用 ToolTool(specifier) 语法配合 glob 模式。示例:Bash(git *) 匹配任何 git 命令。

权限规则的 MCP 工具模式

MCP 工具遵循 mcp__<server>__<tool> 模式。支持 glob 模式。

示例:

  • mcp__myserver__query — 特定服务器上的特定工具
  • mcp__myserver__* — 特定服务器上的所有工具
  • mcp__*__* — 所有 MCP 工具

多行输入方法

方法快捷键适用环境
快速转义\ + Enter适用于所有终端
macOS 默认Option+EntermacOS 上的默认方式
Shift+EnterShift+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{内部/围绕花括号