Skip to main content

优化终端配置

CSC 在终端正确配置时效果最佳。请按照以下指南优化您的使用体验。

主题和外观

CSC 无法控制终端的主题。主题由您的终端应用程序管理。您可以随时通过 /config 命令将 CSC 的主题与终端匹配。

如需对 CSC 界面本身进行更多自定义,您可以配置自定义状态行,以在终端底部显示当前模型、工作目录或 git 分支等上下文信息。

换行

在 CSC 中输入换行有以下几种方式:

  • 快速转义:输入 \ 然后按 Enter 创建新行
  • Ctrl+J:发送换行符,在任何终端中无需配置即可作为换行使用
  • Shift+Enter:在 iTerm2、WezTerm、Ghostty 和 Kitty 中开箱即用
  • 键盘快捷键:在其他终端中设置键绑定来插入新行

为其他终端设置 Shift+Enter

在 CSC 中运行 /terminal-setup 可自动为 VS Code、Alacritty、Zed 和 Warp 配置 Shift+Enter。

注意: /terminal-setup 命令仅在需要手动配置的终端中可见。如果您使用的是 iTerm2、WezTerm、Ghostty 或 Kitty,您不会看到此命令,因为 Shift+Enter 已经原生支持。

设置 Option+Enter(VS Code、iTerm2 或 macOS Terminal.app)

Mac Terminal.app:

  1. 打开 设置 → 描述文件 → 键盘
  2. 勾选"将 Option 键用作 Meta 键"

iTerm2:

  1. 打开 设置 → 描述文件 → 按键
  2. 在常规下,将左/右 Option 键设置为"Esc+"

VS Code 终端:

在 VS Code 设置中设置 "terminal.integrated.macOptionIsMeta": true

通知设置

当 CSC 完成工作并等待您的输入时,它会触发一个通知事件。您可以通过终端将此事件显示为桌面通知,或通过通知钩子运行自定义逻辑。

终端通知

Kitty 和 Ghostty 无需额外配置即可支持桌面通知。iTerm 2 需要进行设置:

  1. 打开 iTerm 2 设置 → 描述文件 → 终端
  2. 启用"通知中心警报"
  3. 点击"过滤警报"并勾选"发送转义序列生成的警报"

如果通知未显示,请验证您的终端应用程序在操作系统设置中是否具有通知权限。

在 tmux 中运行 CSC 时,通知和终端进度条只有在 tmux 配置中启用 passthrough 时才能到达外部终端(如 iTerm2、Kitty 或 Ghostty):

set -g allow-passthrough on

如果没有此设置,tmux 会拦截转义序列,使其无法到达终端应用程序。

其他终端(包括默认的 macOS 终端)不支持原生通知。请改用通知钩子。

通知钩子

要在通知触发时添加自定义行为(如播放声音或发送消息),请配置通知钩子。钩子与终端通知并行运行,而不是替代终端通知。

减少闪烁和内存使用

如果您在长时间会话中看到闪烁,或者终端滚动位置在 CSC 工作时跳到顶部,请尝试全屏渲染。它使用备用渲染路径,保持内存占用稳定并添加鼠标支持。使用 CLAUDE_CODE_NO_FLICKER=1 启用。

处理大型输入

在处理大量代码或长指令时:

  • 避免直接粘贴:CSC 可能难以处理非常长的粘贴内容
  • 使用基于文件的工作流:将内容写入文件,然后让 CSC 读取
  • 注意 VS Code 的限制:VS Code 终端特别容易截断长粘贴内容

Vim 模式

CSC 支持一部分 Vim 键绑定,可通过 /config → 编辑器模式 启用。要直接在配置文件中设置模式,请在 ~/.claude.json 中将 editorMode 全局配置键设置为 "vim"

支持的子集包括:

  • 模式切换:Esc(切换到 NORMAL),i/Ia/Ao/O(切换到 INSERT)
  • 导航:h/j/k/lw/e/b0/$/^gg/Gf/F/t/T 配合 ;/, 重复
  • 编辑:xdw/de/db/dd/Dcw/ce/cb/cc/C.(重复)
  • 复制/粘贴:yy/Yyw/ye/ybp/P
  • 文本对象:iw/awiW/aWi"/a"i'/a'i(/a(i[/a[i{/a{
  • 缩进:>>/<<
  • 行操作:J(合并行)

有关完整参考,请参阅交互模式。