光标在高分屏上发虚、变粗或消失不是字体渲染问题,而是sublime text默认用gdi绘制光标且缺乏subpixel定位补偿,导致边缘模糊、宽度不均;必须同时启用"font_options": ["directwrite"]、禁用gpu渲染("hardware_acceleration": "none")、勾选“替代高dpi缩放行为→应用程序”,并彻底退出重启。

为什么光标在高分屏上发虚、变粗或消失
不是字体渲染问题,而是 Sublime Text 默认用 GDI 绘制光标,在高分屏下没做 subpixel 定位补偿——结果就是竖线边缘模糊、宽度不均、甚至整条光标被拉成 2 像素宽的灰带。Windows 上尤其明显,macOS 和 Linux 因底层渲染路径不同,表现略好但仍有偏移。
必须同时启用 directwrite 和禁用 GPU 渲染
font_options 单独设 ["directwrite"] 不够,它只管文字,不管光标;光标由硬件加速层控制。GPU 渲染(OpenGL)在高 DPI 下会错误缩放光标坐标,导致位置漂移+边缘发虚。
- 在
Preferences.sublime-settings用户设置中添加:"font_options": ["directwrite"]和"hardware_acceleration": "none" - 删掉已废弃的
"gpu_window_buffer": true或"enable_gpu_rendering": true等配置项 - 右键 Sublime 快捷方式 → 属性 → 兼容性 → 更改高 DPI 设置 → 勾选「替代高 DPI 缩放行为」→ 选「应用程序」
- 改完必须右键托盘图标 →
Exit,杀掉所有subl.exe进程,再重启
光标颜色和粗细无法通过主题调整?那是没找对地方
Sublime 的光标样式不走 color_scheme,也不响应 font_size,它由 UI 主题的 layer0.tint 和 caret 规则控制。很多第三方主题(如 Material Theme)默认把光标设为半透明灰,高分屏下更难辨认。
- 打开当前主题文件(路径形如
Packages/Material Theme/Material-Theme-Darker.sublime-theme) - 搜索
"class": "caret",确保其"layer0.opacity"≥ 0.95,"layer0.tint"是纯色(如"#ffffff") - 避免写
"layer0.tint": [255, 255, 255, 128]这种含 alpha 的数组,它在高 DPI 下会叠加模糊 - 改完按
Ctrl+Shift+P→ 输入UI: Reload Theme生效,不用重启
多显示器缩放不一致时,光标在副屏上错位或抖动
这不是配置错误,是 Sublime Text 4 当前限制:per_monitor_v2 仅影响 UI 缩放,光标坐标仍按主屏 DPI 计算。副屏若为 100%,光标可能显示在文本上方 2px 处,或随滚动轻微跳动。
- 唯一稳定解法:副屏也设为与主屏一致的系统缩放比例(例如都设 150%),哪怕物理分辨率不同
- 若无法统一,临时方案是关闭
enable_ime(虽然会影响中文输入法候选框位置) - 别指望
caret_extra_top或caret_extra_bottom补偿——它们只调编辑区光标高度,不修正坐标偏移
hardware_acceleration 设成 "none" 后忘了删掉旧的 GPU 相关配置,或者改完主题没重载就去测试。光标问题几乎全是渲染链路冲突,不是视觉偏好问题。











