交互模式
CSC 会话中键盘快捷键、输入模式和交互功能的完整参考。
键盘快捷键
注意: 键盘快捷键可能因平台和终端而异。按
?查看当前环境可用的快捷键。
macOS 用户:Option/Alt 键快捷键(Alt+B、Alt+F、Alt+Y、Alt+M、Alt+P、Alt+T)需要在终端中将 Option 配置为 Meta:
- iTerm2:设置 → 配置文件 → 按键 → 将左/右 Option 键设置为 "Esc+"
- Terminal.app:设置 → 配置文件 → 键盘 → 勾选 "Use Option as Meta Key"
- VS Code:在 VS Code 设置中设置
"terminal.integrated.macOptionIsMeta": true
有关详细信息,请参阅终端配置。
通用控制
| 快捷键 | 描述 | 说明 |
|---|---|---|
Ctrl+C | 取消当前输入或生成 | 标准中断 |
Ctrl+X Ctrl+K | 终止所有后台代理。3秒内按两次以确认 | 后台代理控制 |
Ctrl+D | 退出 CSC 会话 | EOF 信号 |
Ctrl+G 或 Ctrl+X Ctrl+E | 在默认文本编辑器中打开 | 在默认文本编辑器中编辑提示或自定义回复。Ctrl+X Ctrl+E 是 readline 原生绑定 |
Ctrl+L | 清除提示输入 | 清除输入的文字,保留对话历史 |
Ctrl+O | 切换转录查看器 | 显示详细的工具使用和执行情况。还会展开 MCP 读取和搜索调用,这些调用默认折叠为单行,如 "Queried slack"。在全屏渲染中,循环切换三种状态:正常提示、转录模式和焦点视图(最后提示 + 工具摘要 + 回复) |
Ctrl+R | 反向搜索命令历史 | 交互式搜索之前的命令 |
Ctrl+V 或 Cmd+V(iTerm2)或 Alt+V(Windows) | 从剪贴板粘贴图片 | 在光标处插入 [Image #N] 标记,以便在提示中按位置引用 |
Ctrl+B | 将运行中的任务置于后台 | 将 bash 命令和代理置于后台。Tmux 用户需按两次 |
Ctrl+T | 切换任务列表 | 在终端状态区域显示或隐藏任务列表 |
左/右箭头 | 在对话框标签页间切换 | 在权限对话框和菜单的标签页之间导航 |
上/下箭头 | 导航命令历史 | 回忆之前的输入 |
Esc + Esc | 回退或摘要 | 将代码和/或对话恢复到之前的某个点,或从选定消息开始摘要 |
Shift+Tab 或 Alt+M(某些配置) | 循环切换权限模式 | 在 default、acceptEdits、plan 以及你已启用的任何模式(如 auto 或 bypassPermissions)之间循环切换。请参阅权限模式。 |
Option+P(macOS)或 Alt+P(Windows/Linux) | 切换模型 | 在不清除提示的情况下切换模型 |
Option+T(macOS)或 Alt+T(Windows/Linux) | 切换扩展思考 | 启用或禁用扩展思考模式。在 macOS 上,需要配置终端将 Option 作为 Meta 才能使此快捷键生效 |
Option+O(macOS)或 Alt+O(Windows/Linux) | 切换快速模式 | 启用或禁用快速模式 |
文本编辑
| 快捷键 | 描述 | 说明 |
|---|---|---|
Ctrl+K | 删除至行尾 | 存储已删除的文本以供粘贴 |
Ctrl+U | 从光标删除至行首 | 存储已删除的文本以供粘贴。重复操作可在多行输入中跨行清除 |
Ctrl+Y | 粘贴已删除的文本 | 粘贴通过 Ctrl+K 或 Ctrl+U 删除的文本 |
Alt+Y(在 Ctrl+Y 后) | 循环粘贴历史 | 粘贴后,循环切换之前删除的文本。macOS 上需要将 Option 设置为 Meta |
Alt+B | 光标向后移动一个单词 | 单词导航。macOS 上需要将 Option 设置为 Meta |
Alt+F | 光标向前移动一个单词 | 单词导航。macOS 上需要将 Option 设置为 Meta |
主题和显示
| 快捷键 | 描述 | 说明 |
|---|---|---|
Ctrl+T | 切换代码块的语法高亮 | 仅在 /theme 选择器菜单中有效。控制 CSC 回复中的代码是否使用语法着色 |
多行输入
| 方法 | 快捷键 | 说明 |
|---|---|---|
| 快速换行 | \ + Enter | 在所有终端中有效 |
| macOS 默认 | Option+Enter | macOS 上的默认方式 |
| Shift+Enter | Shift+Enter | 在 iTerm2、WezTerm、Ghostty、Kitty 中开箱即用 |
| 控制序列 | Ctrl+J | 多行的换行符 |
| 粘贴模式 | 直接粘贴 | 适用于代码块、日志 |
💡 提示: Shift+Enter 在 iTerm2、WezTerm、Ghostty 和 Kitty 中无需配置即可使用。对于其他终端(VS Code、Alacritty、Zed、Warp),运行
/terminal-setup安装绑定。
快速命令
| 快捷键 | 描述 | 说明 |
|---|---|---|
开头输入 / | 命令或技能 | 参见命令和技能 |
开头输入 ! | Bash 模式 | 直接运行命令并将执行输出添加到会话 |
@ | 文件路径提及 | 触发文件路径自动补全 |
转录查看器
当转录查看器打开时(通过 Ctrl+O 切换),可以使用以下快捷键。Ctrl+E 可以通过 transcript:toggleShowAll 重新绑定。
| 快捷键 | 描述 |
|---|---|
Ctrl+E | 切换显示所有内容 |
q、Ctrl+C、Esc | 退出转录视图。这三个都可以通过 transcript:exit 重新绑定 |
语音输入
| 快捷键 | 描述 | 说明 |
|---|---|---|
长按 Space | 按键说话听写 | 需要启用语音听写。转录内容插入到光标处。可重新绑定 |
命令
在 CSC 中输入 / 查看所有可用命令,或输入 / 后跟任意字母进行过滤。/ 菜单显示你可以调用的所有内容:内置命令、捆绑和用户编写的技能,以及由插件和 MCP 服务器贡献的命令。并非所有内置命令对每个用户都可见,因为有些取决于你的平台或计划。
有关 CSC 中包含的命令的完整列表,请参见命令参考。
Vim 编辑器模式
通过 /config → 编辑器模式启用 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 | 输入末尾 |
f{char} | 跳转到字符的下一个出现位置 |
F{char} | 跳转到字符的上一个出现位置 |
t{char} | 跳转到字符下一个出现位置之前 |
T{char} | 跳转到字符上一个出现位置之后 |
; | 重复上次 f/F/t/T 移动 |
, | 反向重复上次 f/F/t/T 移动 |
注意: 在 vim normal 模式下,如果光标位于输入的开头或结尾且无法继续移动,
j/k和箭头键将改为导航命令历史。
编辑(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{ | 内部/周围花括号 |
命令历史
CSC 为当前会话维护命令历史:
- 输入历史按工作目录存储
- 运行
/clear开始新会话时,输入历史会重置。之前的会话对话会被保留,可以恢复。 - 使用上/下箭头导航(参见上方的键盘快捷键)
- 注意:历史展开(
!)默认被禁用
使用 Ctrl+R 反向搜索
按 Ctrl+R 交互式搜索命令历史:
- 开始搜索:按
Ctrl+R激活反向历史搜索 - 输入查询:输入要在之前命令中搜索的文本。搜索词在匹配结果中高亮显示
- 浏览匹配:再次按
Ctrl+R循环浏览更早的匹配 - 接受匹配:
- 按
Tab或Esc接受当前匹配并继续编辑 - 按
Enter接受并立即执行命令
- 按
- 取消搜索:
- 按
Ctrl+C取消并恢复原始输入 - 在空搜索时按
Backspace取消
- 按
搜索会显示匹配的命令并高亮搜索词,方便你查找和复用之前的输入。
后台 bash 命令
CSC 支持在后台运行 bash 命令,允许你在长时间运行的进程执行时继续工作。
后台运行的工作方式
当 CSC 在后台运行命令时,它会异步执行命令并立即返回一个后台任务 ID。CSC 可以在命令继续在后台执行的同时响应新的提示。
要在后台运行命令,你可以:
- 提示 CSC 在后台运行命令
- 按 Ctrl+B 将常规 Bash 工具调用移至后台。(Tmux 用户由于 tmux 的前缀键,必须按两次 Ctrl+B。)
主要特性:
- 输出写入文件,CSC 可以使用 Read 工具检索
- 后台任务具有唯一 ID,用于跟踪和输出检索
- CSC 退出时后台任务会自动清理
- 如果输出超过 5GB,后台任务会自动终止,并在 stderr 中说明原因
要禁用所有后台任务功能,将 CLAUDE_CODE_DISABLE_BACKGROUND_TASKS 环境变量设置为 1。有关详细信息,请参阅环境变量。
常见的后台命令:
- 构建工具(webpack、vite、make)
- 包管理器(npm、yarn、pnpm)
- 测试运行器(jest、pytest)
- 开发服务器
- 长时间运行的进程(docker、terraform)
使用 ! 前缀的 Bash 模式
通过在输入前添加 ! 前缀,直接运行 bash 命令而无需经过 CSC:
! npm test
! git status
! ls -la
Bash 模式:
- 将命令及其输出添加到对话上下文
- 显示实时进度和输出
- 支持相同的
Ctrl+B后台运行,适用于长时间运行的命令 - 不需要 CSC 解释或批准命令
- 支持基于历史的自动补全:输入部分命令并按 Tab 从当前项目中之前的
!命令中补全 - 在空提示下按
Escape、Backspace或Ctrl+U退出 - 将以
!开头的文本粘贴到空提示中会自动进入 bash 模式,与手动输入!的行为一致
这对于在进行对话的同时进行快速 shell 操作非常有用。
提示建议
首次打开会话时,提示输入中会出现一个灰色的示例命令,帮助你入门。CSC 从项目的 git 历史中选择此建议,因此它反映了你最近一直在处理的文件。
在 CSC 回复后,建议会根据你的对话历史继续出现,例如多部分请求的后续步骤或工作流的自然延续。
- 按 Tab 或 右箭头 接受建议,或按 Enter 接受并提交
- 开始输入以关闭建议
建议作为后台请求运行,复用父对话的提示缓存,因此额外成本极低。当缓存冷启动时,CSC 会跳过建议生成以避免不必要的成本。
在对话的第一轮之后、非交互模式和计划模式中,建议会自动跳过。
要完全禁用提示建议,设置环境变量或在 /config 中切换设置:
export CLAUDE_CODE_ENABLE_PROMPT_SUGGESTION=false
使用 /btw 进行附带提问
使用 /btw 对当前工作进行快速提问,而不会添加到对话历史中。当你想要快速获取答案但不想使主要上下文混乱或使 CSC 偏离长时间运行的任务时,这非常有用。
/btw 那个配置文件叫什么名字来着?
附带提问对当前对话有完全可见性,因此你可以询问 CSC 已经读取的代码、之前做出的决定或会话中的任何其他内容。问题和答案是临时的:它们出现在可关闭的覆盖层中,永远不会进入对话历史。
- 在 CSC 工作时可用:你甚至可以在 CSC 处理回复时运行
/btw。附带提问独立运行,不会中断主轮次。 - 无工具访问:附带提问仅从上下文中已有的内容回答。CSC 在回答附带提问时无法读取文件、运行命令或搜索。
- 单次回复:没有后续轮次。如果需要来回对话,请使用普通提示。
- 低成本:附带提问复用父对话的提示缓存,因此额外成本极低。
按 Space、Enter 或 Escape 关闭答案并返回提示。
/btw 是子代理的反面:它可以看到你的完整对话但没有工具,而子代理拥有完整的工具但从空上下文开始。使用 /btw 询问 CSC 在本次会话中已经知道的内容;使用子代理去查找新信息。
任务列表
在处理复杂的多步骤工作时,CSC 会创建任务列表来跟踪进度。任务显示在终端的状态区域,带有指示待处理、进行中或已完成的标记。
- 按
Ctrl+T切换任务列表视图。显示一次最多显示 10 个任务 - 要查看所有任务或清除它们,直接询问 CSC:"显示所有任务" 或 "清除所有任务"
- 任务在上下文压缩后仍然保留,帮助 CSC 在较大的项目中保持组织
- 要跨会话共享任务列表,设置
CLAUDE_CODE_TASK_LIST_ID以使用~/.costrict/tasks/中的命名目录:CLAUDE_CODE_TASK_LIST_ID=my-project csc
PR 审查状态
当在具有开放拉取请求的分支上工作时,CSC 在页脚显示一个可点击的 PR 链接(例如 "PR #446")。链接带有彩色下划线,指示审查状态:
- 绿色:已批准
- 黄色:待审查
- 红色:需要修改
- 灰色:草稿
- 紫色:已合并
Cmd+点击(Mac)或 Ctrl+点击(Windows/Linux)链接可在浏览器中打开拉取请求。状态每 60 秒自动更新。
注意: PR 状态需要安装并认证
ghCLI(gh auth login)。