MacOS Terminal配色发灰刺眼的主因是开启“Use brightness matching”和“Use bold fonts for bright colors”,应关闭这两项;推荐导入Dracula或One Dark配色方案,字体设13pt、行高1.2,并执行defaults write -g CGFontRenderingFontSmoothingDisabled -bool NO启用平滑渲染。

Terminal 配色方案怎么改才不发灰、不刺眼
MacOS 自带 Terminal 默认配色在 Retina 屏上容易偏灰、对比度低,尤其对 ls 输出或 Git 状态色块识别困难。根本原因不是颜色选得差,而是 macOS 的「使用亮度匹配」和「粗体文本使用亮色」两个隐藏选项干扰了真实色值输出。
- 打开 Terminal → Preferences → Profiles → Text,**关掉**
Use brightness matching(否则深色主题会自动提亮,把#282c34搞成#4a4f59) - 同样在 Text 页,**关掉**
Use bold fonts for bright colors(否则ls -G的绿色目录会变成荧光绿,且和真·高亮色混淆) - 配色推荐直接导入现成方案:下载
Dracula.terminal或One Dark.terminal文件,双击安装后在 Profiles 里选中即可;别手动调 RGB——终端色域是 256 色索引映射,手调数值大概率错位
字体渲染太糊?其实是抗锯齿强度没调对
不是字体本身问题,是 macOS 对等宽字体的亚像素渲染(subpixel antialiasing)在非原生分辨率下失效,导致 JetBrains Mono 或 Fira Code 看起来发虚。系统级开关藏得深,Terminal 里反而不能直接调。
- 终端内无法开启/关闭亚像素渲染,必须用命令行干预:
defaults write -g CGFontRenderingFontSmoothingDisabled -bool NO(设为NO才启用平滑,YES是禁用) - 执行后需重启所有 Terminal 窗口(不是新建标签页),否则无效
- 如果用了外接显示器(尤其非 Retina),在显示器设置里把「缩放」选「默认」而非「缩放后分辨率」,否则字体渲染层会二次模糊
为什么 iTerm2 配色更准,而 Terminal 总差一口气
因为 Terminal 使用的是 macOS 原生 NSColorPanel 色彩管理,受系统色彩描述文件(如 Display P3)影响大;iTerm2 则绕过系统,直接写 RGB 值到终端控制序列,跳过了色彩空间转换环节。
- 如果你依赖
tmux或vim的 256 色支持,Terminal 实际只可靠前 16 色(ANSI标准色),其余靠抖动模拟,ls --color=always的橙色文件名常显示为棕色 - iTerm2 的
Report Terminal Type可设为xterm-256color,Terminal 即使设了也常被 shell 忽略,检查方式:echo $TERM,返回xterm-256color才算生效 - 不用换终端也能补救:在
~/.zshrc加export TERM=xterm-256color,但某些老工具(如less)仍可能 fallback 到 8 色
字体大小设多少才不累眼又不浪费屏
Retina 屏上设 12–14pt 字体,实际物理尺寸接近非 Retina 的 24–28px,但人眼感知仍是「小」。这不是错觉,是 macOS 把字体点数映射到像素时做了两倍缩放,再叠加终端自身的行高补偿,最终导致字符过密。
- 在 Profiles → Text 中,字体大小建议设为
13,行高(Line spacing)设为1.2(不是默认的 1.0)——这能拉开字符垂直间隙,缓解长时间阅读疲劳 - 避免用
Menlo等系统默认字体做主力,它没有连字(ligature)且小字号下1lI和0O极难区分;换成JetBrains Mono Nerd Font并勾选Use ligatures(仅 iTerm2 支持,Terminal 不支持连字) - 如果外接 4K 显示器,不要在 Terminal 里调「缩放」,而是在系统设置 → 显示器 → 缩放里选「更大文字」,让整个 Terminal 窗口等比放大,字体渲染质量才稳定
配色和字体看似是视觉偏好,实则牵扯到终端模拟器、字体渲染管线、色彩空间转换三层机制。改一个开关可能触发连锁反应,比如开了亮度匹配,连 git status 的红色冲突提示都会变浅——这种细节,只有盯着真实命令输出调才能发现。

















