优化终端配置
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:
- 打开 设置 → 描述文件 → 键盘
- 勾选"将 Option 键用作 Meta 键"
iTerm2:
- 打开 设置 → 描述文件 → 按键
- 在常规下,将左/右 Option 键设置为"Esc+"
VS Code 终端:
在 VS Code 设置中设置 "terminal.integrated.macOptionIsMeta": true。
通知设置
当 CSC 完成工作并等待您的输入时,它会触发一个通知事件。您可以通过终端将此事件显示为桌面通知,或通过通知钩子运行自定义逻辑。
终端通知
Kitty 和 Ghostty 无需额外配置即可支持桌面通知。iTerm 2 需要进行设置:
- 打开 iTerm 2 设置 → 描述文件 → 终端
- 启用"通知中心警报"
- 点击"过滤警报"并勾选"发送转义序列生成的警报"
如果通知未显示,请验证您的终端应用程序在操作系统设置中是否具有通知权限。
在 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/I、a/A、o/O(切换到 INSERT) - 导航:
h/j/k/l、w/e/b、0/$/^、gg/G、f/F/t/T配合;/,重复 - 编辑:
x、dw/de/db/dd/D、cw/ce/cb/cc/C、.(重复) - 复制/粘贴:
yy/Y、yw/ye/yb、p/P - 文本对象:
iw/aw、iW/aW、i"/a"、i'/a'、i(/a(、i[/a[、i{/a{ - 缩进:
>>/<< - 行操作:
J(合并行)
有关完整参考,请参阅交互模式。