Ghostty

主力终端。它的整份配置短到十行,因为我把外观能交出去的都交出去了:窗口的圆角、边框、模糊、移动缩放归 Hyprland,配色归 matugen,Ghostty 自己就剩一块画字的区域。它快、GPU 渲染、配置是纯 key = value,这就够了。

background-opacity = 0.92      # 半透,模糊交给合成器
background-blur = false        # 自己别再来一层,否则叠成灰
theme = MaterialYou            # 指向 matugen 生成的主题
window-decoration = none       # 去标题栏,纯内容
gtk-titlebar = false

两个点值得说。一是透明和模糊要分家:窗口半透让底色透出来,模糊只在合成器开一次,两边都开会糊成一片灰。二是配色那行不是静态的——换壁纸时 matugen 不光重写主题文件,还往所有开着的终端发一串 OSC 序列当场改色,不用重开窗口(matugen 那篇细说)。

去掉标题栏后窗口光秃秃的,靠 Hyprland 加圆角边框、SUPER+拖拽 移动,看起来就和整套主题长在一起。复用不用它自带的 tab,交给 Zellij

为什么是 Ghostty 而不是别的。 它用 Zig 写、走 GPU 渲染(滚动、大量输出都丝滑),但真正让我选它的是"默认就对":开箱即有正确的 ligature、Unicode 宽字符、kitty 图形协议、合理的 selection 行为,不用像某些终端那样配半天才能用。配置是纯 key = value,没有要学的 DSL;它还跨 Linux/macOS 原生(各自用平台原生的窗口/字体栈),不是套个 Electron。

shell integration 值得专门开。 Ghostty 会自动注入 shell integration(zsh/bash/fish),拿到之后多出几样体感很强的能力:标记每条命令的 prompt 边界,于是能"跳到上一条/下一条命令的输出";自动汇报 cwd,新开窗口/split 直接落在当前目录;命令跑完能根据退出码做提示。这些不用我配,装好就有——和"外观交出去、自己只画字"的思路一致:能力靠协议和默认拿,配置文件越短越好。

字体用 JetBrains Mono,和编辑器、WezTerm 一套,跨终端视觉统一。