Skip to main content

键盘快捷键

键盘快捷键可能因平台和终端而异。在全屏渲染中,在转录查看器中按 ? 查看可用的快捷键。macOS 用户:Option/Alt 键快捷键(Alt+BAlt+FAlt+YAlt+MAlt+P)需要在终端中将 Option 配置为 Meta:
  • iTerm2:设置 → 配置文件 → 键 → 常规 → 将左/右 Option 键设置为”Esc+”
  • Apple Terminal:设置 → 配置文件 → 键盘 → 勾选”使用 Option 作为 Meta 键”
  • VS Code:在 VS Code 设置中设置 "terminal.integrated.macOptionIsMeta": true
有关详细信息,请参阅终端配置

常规控制

文本编辑

主题和显示

多行输入

Shift+Enter 在 iTerm2、WezTerm、Ghostty、Kitty、Warp、Apple Terminal 和 Windows Terminal 中无需配置即可工作。对于 VS Code、Cursor、Devin Desktop、Alacritty 和 Zed,运行 /terminal-setup 以安装绑定。

快速命令

转录查看器

当转录查看器打开时(使用 Ctrl+O 切换),这些快捷键可用。在全屏渲染中,按 ? 显示查看器内的完整快捷键参考面板。Ctrl+E 可以通过 transcript:toggleShowAll 重新绑定。

语音输入

命令

在 Claude Code 中键入 / 以查看所有可用命令,或键入 / 后跟任何字母以进行筛选。/ 菜单显示您可以调用的所有内容:内置命令、捆绑的和用户编写的 skills,以及由 pluginsMCP servers 贡献的命令。并非所有内置命令对每个用户都可见,因为某些命令取决于您的平台或计划。 全屏渲染中,/ 命令和 @ 文件建议列表也响应鼠标:悬停突出显示一行,单击接受它。 有关 Claude Code 中包含的命令的完整列表,请参阅命令参考

Vim 编辑器模式

通过 /config → 编辑器模式启用 vim 风格编辑。

重新映射 INSERT 模式快捷键序列

vimInsertModeRemaps 设置将两个按键的 INSERT 模式序列映射到 Escape,因此像 jj 这样的映射会让你返回 NORMAL 模式。需要 Claude Code v2.1.208 或更高版本。 以下 ~/.claude/settings.json 示例打开 vim 模式并将 jj 映射到 Escape:
每个键恰好是按顺序输入的两个可打印字符,"<Esc>" 是唯一支持的目标。具有不同长度或目标的条目将被忽略。 输入序列的第一个字符会正常插入。在一秒内按下第二个字符会移除该待处理字符并切换到 NORMAL 模式,在你的输入中不留下任何字符。在一秒窗口之后,或者如果按下不同的键,两个字符都会保留为文字文本,因此你仍然可以通过在两个键之间暂停来输入包含该序列的单词。 Claude Code 仅从你的用户设置文件、--settings 标志和托管设置读取此设置。项目的 .claude/settings.json.claude/settings.local.json 中的条目被忽略,因此已检出的存储库无法重新映射你的按键。

模式切换

在 vim 正常模式下,如果光标在输入的开始或结束处且无法进一步移动,j/k 和箭头键将导航命令历史。

编辑(NORMAL 模式)

文本对象(NORMAL 模式)

文本对象与 dcy 等运算符一起工作:

可视模式

v 进行字符级选择或按 V 进行行级选择。动作扩展选择,运算符直接作用于选择。 不支持使用 Ctrl+V 的块级可视模式。

命令历史

Claude Code 为当前会话维护命令历史:
  • 输入历史按工作目录存储
  • 当您运行 /clear 以启动新会话时,输入历史会重置。上一个会话的对话被保留并可以恢复。
  • 连续两次提交相同的提示会记录一个历史条目,因此按向上箭头会跳转到上一个不同的提示
  • 使用向上/向下箭头导航(请参阅上面的快捷键)
  • 历史扩展(!)默认禁用

使用 Ctrl+R 反向搜索

Ctrl+R 以交互方式搜索您的命令历史:
  1. 开始搜索:按 Ctrl+R 激活反向历史搜索
  2. 键入查询:输入文本以在以前的命令中搜索。搜索词在匹配结果中突出显示
  3. 导航匹配:再次按 Ctrl+R 以循环浏览较旧的匹配
  4. 更改范围:搜索默认为来自所有项目的提示。按 Ctrl+S 在此会话、此项目和所有项目之间循环范围
  5. 接受匹配
    • TabEsc 接受当前匹配并继续编辑
    • Enter 接受并立即执行命令
  6. 取消搜索
    • Ctrl+C 取消并恢复原始输入
    • 在空搜索上按 Backspace 以取消
搜索加载所选范围内最近的 100 个唯一提示,重复项折叠到最新出现。匹配的提示显示时搜索词突出显示,因此您可以找到并重用以前的输入。 接受匹配或取消搜索会立即生效,即使 Claude Code 仍在加载历史记录。在 v2.1.202 之前,在加载期间接受或取消可能会报告内部错误。

后台 Bash 命令

Claude Code 支持在后台运行 Bash 命令,允许您在长时间运行的进程执行时继续工作。

后台运行的工作原理

当 Claude Code 在后台运行命令时,它异步运行命令并立即返回后台任务 ID。Claude Code 可以在命令继续在后台执行时响应新提示。 要在后台运行命令,您可以:
  • 提示 Claude Code 在后台运行命令
  • Ctrl+B 将常规 Bash 工具调用移到后台。Tmux 用户必须按 Ctrl+B 两次,因为 tmux 的前缀键。
主要功能:
  • 输出被写入文件,Claude 可以使用 Read 工具检索它
  • 后台任务具有唯一的 ID 用于跟踪和输出检索
  • 当 Claude Code 退出时,后台任务会自动清理。将会话放在后台而不是退出会将它们交给后台会话,它们会继续运行。请参阅在会话内部将其放在后台
  • 如果输出超过 5GB,后台任务会自动终止,stderr 中会有说明原因的注释
  • 从 v2.1.193 开始,在 macOS 和 Linux 上,当操作系统发出内存压力信号时,运行中的后台任务会被终止,前提是会话已经空闲至少 30 分钟,没有任何轮次或子代理运行。将 CLAUDE_CODE_DISABLE_BG_SHELL_PRESSURE_REAP 设置为 1 以关闭此功能
要禁用所有后台任务功能,请将 CLAUDE_CODE_DISABLE_BACKGROUND_TASKS 环境变量设置为 1。有关详细信息,请参阅环境变量 常见的后台命令:
  • 构建工具(webpack、vite、make)
  • 包管理器(npm、yarn、pnpm)
  • 测试运行器(jest、pytest)
  • 开发服务器
  • 长时间运行的进程(docker、terraform)

使用 ! 前缀的 Shell 模式

通过在输入前加上 ! 来直接运行 shell 命令,无需通过 Claude:
Shell 模式:
  • 将命令及其输出添加到对话上下文
  • 显示实时进度和输出
  • 支持相同的 Ctrl+B 后台运行长时间运行的命令
  • 不需要 Claude 解释或批准命令
  • 支持基于历史的自动完成:键入部分命令并按 Tab 以从当前项目中的上一个 ! 命令完成
  • 从 v2.1.193 开始在所有平台上支持实时文件路径自动完成:键入包含正斜杠的令牌,例如 ./src/~/,以查看匹配文件和目录的下拉列表,然后按 Tab 接受。在 Windows 上也使用正斜杠;下拉列表由 / 触发,而不是 \
  • 在空提示上使用 EscapeBackspaceCtrl+U 退出
  • 将以 ! 开头的文本粘贴到空提示中会自动进入 shell 模式,与键入的 ! 行为相匹配
从 v2.1.186 开始,Claude 在命令输出进入记录后会自动响应,因此您可以运行 ! npm test 并获得失败的解释,无需第二个提示。响应成本与发送普通提示相同。要恢复早期行为(其中输出被添加到上下文而不响应),请在 settings.json 中将 respondToBashCommands 设置为 false。在 v2.1.186 之前,shell 模式始终将输出添加到上下文而不响应。 这对于快速 shell 操作同时保持对话上下文很有用。

提示建议

当您首次打开会话时,灰显的示例命令会出现在提示输入中以帮助您入门。Claude Code 从您的项目的 git 历史中选择此命令,因此它反映了您最近一直在处理的文件。 Claude 响应后,建议会根据您的对话历史继续出现,例如多部分请求的后续步骤或工作流的自然延续。
  • TabRight arrow 将建议放入提示输入中,然后按 Enter 提交
  • 开始输入以关闭它
建议作为后台请求运行,该请求重用父对话的 prompt cache,因此额外成本最小。当缓存冷时,Claude Code 会跳过建议生成以避免不必要的成本。 在对话的第一轮之后以及在 Plan Mode 中,建议会自动跳过。在打印模式下,它们默认关闭。传递 --prompt-suggestions--output-format stream-json --verbose 以在每轮之后发出 prompt_suggestion 消息。 要完全禁用提示建议,请设置环境变量或在 /config 中切换设置:

使用 /btw 的侧面问题

使用 /btw 快速提问您当前的工作,而不添加到对话历史。当您想要快速答案但不想混乱主要上下文或使 Claude 偏离长时间运行的任务时,这很有用。
侧面问题可以完全看到当前对话,因此您可以询问 Claude 已经读过的代码、它之前做出的决定或会话中的任何其他内容。问题和答案是短暂的:它们出现在可关闭的覆盖层中,永远不会进入对话历史。
  • Claude 工作时可用:即使 Claude 正在处理响应时,您也可以运行 /btw。侧面问题独立运行,不会中断主要轮次。
  • 无工具访问:侧面问题仅从已在上下文中的内容回答。Claude 在回答侧面问题时无法读取文件、运行命令或搜索。
  • 单一响应:覆盖层中没有后续轮次。要继续该线程,请使用 f 将其分叉到自己的会话中。
  • 低成本:侧面问题重用父对话的提示缓存,因此额外成本最小。
来自同一会话的较早侧面问题显示为当前答案上方的暗淡列表。它们保持在对话历史之外,但在覆盖层中保持可见,直到您清除它们。 答案出现后,覆盖层接受这些按键。 /btwsubagent 的反面:它看到您的完整对话但没有工具,而 subagent 具有完整工具但从空上下文开始。使用 /btw 询问 Claude 从此会话已知的内容;使用 subagent 去发现新的东西。

任务列表

任务列表是 Claude 的待办事项清单:Claude 创建的用于规划多步骤工作的项目,带有指示器显示待处理、进行中或完成的内容。它与后台任务视图分开。要查看运行中的 shell 和子代理,请改用 /tasks
  • Ctrl+T 切换任务列表视图。显示一次最多五个任务。当 Claude 还没有创建任何清单项目时,切换没有可见效果,因为没有任何内容可显示
  • 要查看所有任务或清除它们,直接询问 Claude:“show me all tasks”或”clear all tasks”
  • 任务在上下文压缩中持续存在,帮助 Claude 在较大的项目上保持组织
  • 要在会话之间共享任务列表,请设置 CLAUDE_CODE_TASK_LIST_ID 以使用 ~/.claude/tasks/ 中的命名目录:CLAUDE_CODE_TASK_LIST_ID=my-project claude

会话回顾

当您从离开后返回终端时,Claude Code 会显示到目前为止会话中发生的情况的单行回顾。回顾在后台生成,一旦自上次完成的轮次以来至少已经过了三分钟且终端未聚焦,就会生成,因此当您切换回来时已准备好。回顾仅在会话至少有三个轮次后出现,并且永远不会连续出现两次。 运行 /recap 以按需生成摘要。要关闭自动回顾,打开 /config 并禁用会话回顾 会话回顾在每个计划和提供商上默认启用。回顾在非交互模式下始终被跳过。

PR 审查状态

在处理具有开放拉取请求的分支时,Claude Code 在页脚中显示可点击的 PR 链接,例如”PR #446”。该链接具有彩色下划线,指示审查状态:
  • 绿色:已批准
  • 黄色:待审查
  • 红色:请求更改
  • 灰色:草稿
拉取请求合并或关闭后,徽章消失。Cmd+click(macOS)或 Ctrl+click(Windows/Linux)点击链接以在浏览器中打开拉取请求。状态每 60 秒刷新一次,并在会话中运行 gh prgit push 命令后立即刷新。
PR 状态需要安装并验证 gh CLI(gh auth login)。

另请参阅