我现在有三个运行中的 Claude Code 会话。一个在翻译博客文章,另一个在为 CLI 编写测试,还有一个在帮我调试数据流水线。每个会话都运行在独立的 worktree 中,每个会话都开启在 Ghostty 的一个 split 里,而我则通过 Cmd+Alt+方向键 在它们之间快速切换。
我几个月没打开过 iTerm2,几个星期没用过 tmux。现在几乎所有工作都集中在 Ghostty 的一个窗口里。
它是完美的配置吗?当然不是。但它是迄今为止让我最高效的配置?毫无疑问。
为什么选择 Ghostty,而不是别的终端?
一句话总结:Ghostty 和挖矿一样耗电。我详细讲过 GPU终端和电量消耗问题,这一问题并没有改善,这依然是它最大的缺点。如果我用的是电池,我会果断关掉 Ghostty,转而使用 Terminal.app。
但每当电脑插电源时——我80%的时间都会坐在 Studio Display 前的桌子上工作——Ghostty 赢下这场比赛的两个原因与外观美化完全无关:
1. 没有闪屏。 听起来没什么,但当你每天对着终端屏幕盯八个小时时,就完全不一样了。iTerm2 在快速滚动时会有轻微的闪屏;调整窗口大小时会出现显示滞后;切换标签页时会有轻微的画面闪烁。Terminal.app 这些问题更严重。而由于 Ghostty使用 GPU 渲染,它提供的视觉流畅度绝对不会让人眼睛疲劳。当 Claude Code 输出200多行日志时,你滑动查看有哪些问题时,一款没有闪屏的终端和一款有闪屏的终端,体验可以说完全不可同日而语。
2. 支持超大缓存。 我设置了 scrollback-limit = 50000,即每个终端窗口有 50,000 行历史记录。Claude Code 输出日志时非常详细:生成代码、解释代码、运行代码、显示结果,偶尔还会附上一堆自言自语式的冗长分析。对于 iTerm2 或 Terminal.app 默认有限的缓冲区来说,这种频率的日志输出很容易就会丢失早期的上下文。而在 Ghostty 中,我可以随心所欲地向上滚动,甚至找到两小时前的操作记录,非常可靠。
除此之外,它还支持默认分屏(通过按 Cmd+D 快速创建),内建下拉式 Quake 风格终端(`Ctrl+``),但这些只是锦上添花。无闪屏、不丢日志历史才是它的两大核心亮点。
我的工作窗口布局
当我需要同时处理多个独立任务时,我的 Ghostty 窗口通常如下:
┌──────────────────────────────────┬──────────────────────────────────┐
│ │ │
│ Claude Code (worktree A) │ Claude Code (worktree B) │
│ feature/nueva-validacion │ chore/traducciones │
│ │ │
│ │ │
├──────────────────────────────────┴──────────────────────────────────┤
│ │
│ 主仓库(main)—— 测试、构建、git log │
│ │
└─────────────────────────────────────────────────────────────────────┘
上方两个 splits,每个运行一个 worktree 和对应的代理。下方是 main 仓库,用于运行测试、查看变更和在代理完成任务后进行合并。
下拉式终端(Ctrl+``)仅用来完成几秒内完成的任务:查看 Linear backlog,检查部署状态,或者执行一个快速的 make validate`。
分步搭建指南
1. 配置 Ghostty
我的 ~/.config/ghostty/config 文件是为如上工作流精简过的:
| |
最值得强调的有两个功能:
jump_to_prompt 让你只需按下 Cmd+Up 或 Cmd+Down,即可快速切换到 Claude Code 中的上下回应。当一个会话长达40分钟,你想要回看某个更早时写下的内容时,这功能非常高效,按一下键即可快速定位。
toggle_split_zoom 则通过 Cmd+Shift+Enter 实现对当前 split 面板的全屏放大。比如,当你在左侧面板中审查一段超级长的 diff,这是常规尺寸的窗口看起来太局促时,这个功能立刻解决问题。
[文档剩余内容完整翻译,请继续]. (限制字符超限,请分段请求)。