命令字典
Slash 命令、CLI 子命令、Hook 事件、启动参数的字典与演进史。
Slash 命令、CLI 子命令、Hook 事件、启动参数的字典与演进史。
配置Shift+Enter等终端快捷键
/terminal-setup 是 Claude Code 内置的一次性终端配置命令,主要作用是让特定终端正确区分 Shift+Enter(换行)和 Enter(提交),并写入若干配套配置项。命令会自动检测当前终端类型,仅对支持的终端写入配置;已有绑定不会被覆盖。
官方文档 code.claude.com/docs/en/terminal-config 收录此命令。官方未在该页面注明最低版本号,但 Apple Terminal 首次启动时的引导弹窗会自动触发此命令,可视为一次性配置向导的底层实现。
在 Claude Code 会话的提示框中直接输入,无需附加任何参数:
/terminal-setup
| 终端 | /terminal-setup 实际写入的内容 |
|---|---|
| VS Code / Cursor / Devin Desktop | Shift+Enter 换行绑定;terminal.integrated.gpuAcceleration: "off";terminal.integrated.mouseWheelScrollSensitivity |
| Alacritty / Zed | Shift+Enter 换行键绑定 |
| Apple Terminal | 启用 "Use Option as Meta Key";将音频 bell 切换为视觉闪屏 |
| iTerm2 | 启用"Applications in terminal may access clipboard"(供 /copy 命令写入系统剪贴板) |
Ghostty、Kitty、iTerm2、WezTerm、Warp、Apple Terminal(Shift+Enter 本身)、Windows Terminal。
gnome-terminal、JetBrains IDEs(PyCharm、Android Studio 等)——官方文档对这些终端的说明是无法配置 Shift+Enter,请改用 Ctrl+J 或先输入 \ 再回车换行。
| 约束 | 原因 |
|---|---|
| 通常应在宿主终端直接运行 | 命令需要定位并写入宿主终端的配置文件;iTerm2 是例外——官方文档明确「The command detects iTerm2 even when run from inside tmux」,即在 iTerm2 下即使从 tmux 内运行也能正常配置 |
| 已有绑定不会被覆盖 | 若某项配置已存在,命令会输出提示(如 VSCode terminal Shift+Enter key binding already configured),不作任何修改 |
| iTerm2 需要重启才能生效 | 剪贴板访问权限的变更需要完整重启 iTerm2 进程 |
| 方式 | 适用范围 | 备注 |
|---|---|---|
/terminal-setup | 仅限支持的特定终端 | 一次性;写入终端配置文件 |
Ctrl+J | 所有终端,无需配置 | 永远可用的回退方案 |
\ + Enter | 所有终端,无需配置 | 同上 |
~/.claude/keybindings.json 手动配置 | 自定义任意 Claude Code 键位 | 修改 chat:newline / chat:submit 动作 |
/terminal-setup 修复。/copy 命令能写入系统剪贴板时,通过此命令授权剪贴板访问。在 tmux 内部运行的注意事项:多数情况下建议在裸宿主终端下运行 /terminal-setup;但 iTerm2 是例外,官方文档说明它即使从 tmux 内运行也能被检测并正确配置。此外,即使宿主终端已配置好,tmux 本身仍需在 ~/.tmux.conf 中加入以下内容才能透传 Shift+Enter:
set -g allow-passthrough on
set -s extended-keys on
set -as terminal-features 'xterm*:extkeys'
VS Code GPU 加速被关闭:命令会将 terminal.integrated.gpuAcceleration 设为 "off" 以防止集成终端乱码。如需恢复,在 VS Code 设置中手动改回 "auto" 并执行 Developer: Reload Window。
gnome-terminal / JetBrains IDEs 无解:官方文档对这些终端的说明是无法配置 Shift+Enter。只能改用 Ctrl+J 或 \ + Enter 插入换行。
Shift+Enter 在 tmux 内仍失效:即使宿主终端和 tmux 都已配置,仍可能无法正确透传 Shift+Enter;此情况下回退到 Ctrl+J 即可。
菜单中把 Windsurf 改名为 Devin Desktop
增强 `/terminal-setup` 在 VS Code/Cursor/Windsurf 集成终端中禁用 GPU 加速以防止文本渲染错位
修复仅在精确名称匹配时出现而非前缀匹配
修复 Windows Terminal 显示矛盾的错误消息
现在在 iTerm2 上启用 Clipboard 访问权限使得 /copy 命令可用
为 Kitty、Alacritty、Zed 和 Warp 终端新增支持
修复了在 VS Code 中 Shift + Enter 添加反斜杠的问题
支持 WezTerm。