Skip to main content

交互模式

CSC 会话中键盘快捷键、输入模式和交互功能的完整参考。

键盘快捷键

注意: 键盘快捷键可能因平台和终端而异。按 ? 查看当前环境可用的快捷键。

macOS 用户:Option/Alt 键快捷键(Alt+BAlt+FAlt+YAlt+MAlt+PAlt+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+GCtrl+X Ctrl+E在默认文本编辑器中打开在默认文本编辑器中编辑提示或自定义回复。Ctrl+X Ctrl+E 是 readline 原生绑定
Ctrl+L清除提示输入清除输入的文字,保留对话历史
Ctrl+O切换转录查看器显示详细的工具使用和执行情况。还会展开 MCP 读取和搜索调用,这些调用默认折叠为单行,如 "Queried slack"。在全屏渲染中,循环切换三种状态:正常提示、转录模式和焦点视图(最后提示 + 工具摘要 + 回复)
Ctrl+R反向搜索命令历史交互式搜索之前的命令
Ctrl+VCmd+V(iTerm2)或 Alt+V(Windows)从剪贴板粘贴图片在光标处插入 [Image #N] 标记,以便在提示中按位置引用
Ctrl+B将运行中的任务置于后台将 bash 命令和代理置于后台。Tmux 用户需按两次
Ctrl+T切换任务列表在终端状态区域显示或隐藏任务列表
左/右箭头在对话框标签页间切换在权限对话框和菜单的标签页之间导航
上/下箭头导航命令历史回忆之前的输入
Esc + Esc回退或摘要将代码和/或对话恢复到之前的某个点,或从选定消息开始摘要
Shift+TabAlt+M(某些配置)循环切换权限模式defaultacceptEditsplan 以及你已启用的任何模式(如 autobypassPermissions)之间循环切换。请参阅权限模式。
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+KCtrl+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+EntermacOS 上的默认方式
Shift+EnterShift+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切换显示所有内容
qCtrl+CEsc退出转录视图。这三个都可以通过 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 模式)

文本对象与 dcy 等操作符配合使用:

命令操作
iw/aw内部/周围单词
iW/aW内部/周围 WORD(以空白分隔)
i"/a"内部/周围双引号
i'/a'内部/周围单引号
i(/a(内部/周围圆括号
i[/a[内部/周围方括号
i{/a{内部/周围花括号

命令历史

CSC 为当前会话维护命令历史:

  • 输入历史按工作目录存储
  • 运行 /clear 开始新会话时,输入历史会重置。之前的会话对话会被保留,可以恢复。
  • 使用上/下箭头导航(参见上方的键盘快捷键)
  • 注意:历史展开(!)默认被禁用

使用 Ctrl+R 反向搜索

Ctrl+R 交互式搜索命令历史:

  1. 开始搜索:按 Ctrl+R 激活反向历史搜索
  2. 输入查询:输入要在之前命令中搜索的文本。搜索词在匹配结果中高亮显示
  3. 浏览匹配:再次按 Ctrl+R 循环浏览更早的匹配
  4. 接受匹配
    • TabEsc 接受当前匹配并继续编辑
    • Enter 接受并立即执行命令
  5. 取消搜索
    • 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 从当前项目中之前的 ! 命令中补全
  • 在空提示下按 EscapeBackspaceCtrl+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 在回答附带提问时无法读取文件、运行命令或搜索。
  • 单次回复:没有后续轮次。如果需要来回对话,请使用普通提示。
  • 低成本:附带提问复用父对话的提示缓存,因此额外成本极低。

SpaceEnterEscape 关闭答案并返回提示。

/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 状态需要安装并认证 gh CLI(gh auth login)。