caret_extra_width仅对"wide"和"solid"光标样式生效,设为"smooth"或"phase"时被忽略;"solid"是唯一真正禁闪且可控加粗的组合,需同时设caret_extra_top、bottom、width为0或2–4,且caret_width在此模式下无效。

caret_extra_width 只对 "wide" 和 "solid" 生效
很多人加了 "caret_extra_width": 2 却没变化,是因为它只在 "caret_style": "wide" 或 "caret_style": "solid" 下起作用。设成 "smooth" 或 "phase" 时,这个值完全被忽略——此时该用 caret_width(范围 1–3),但高 DPI 屏下效果可能不明显。
"caret_style": "solid" 是唯一真正禁闪+可控加粗的组合
想让光标既粗又稳,必须用 "caret_style": "solid",并同时设三项为 0:
"caret_extra_top": 0"caret_extra_bottom": 0-
"caret_extra_width": 0或2~4(高分屏推荐)
缺一不可。否则在 macOS 高缩放、远程桌面或某些 UI 主题下,仍可能出现像素级微动,看着像“伪闪烁”。caret_width 在 "solid" 模式下无效,别白费力气调它。
别碰 blink_interval,它基本没用
blink_interval 在 ST4 build 4143+ 后仅对已弃用的 "blink" 模式生效,而该模式多数主题会自动降级为 "phase" 或直接忽略。更关键的是:macOS 系统级“辅助功能 → 显示 → 光标闪烁”开关优先级最高;Windows 高对比度模式也会强制回退光标样式。真想停闪,只靠 "caret_style": "solid" + 清零三项 extra 参数最可靠。
wide_caret 和 caret_style: "wide" 别混用
"wide_caret": true 是旧版兼容开关,开启后会让默认竖线变粗;而 "caret_style": "wide" 是独立渲染路径。两者语义重叠,混用可能导致光标错位、边缘模糊或粗细异常。选一个就行:要简单加粗就开 wide_caret;要精细控制宽度和禁闪,就用 "solid" + caret_extra_width。
真正容易被忽略的点是:所有这些设置都只在用户配置文件(Preferences → Settings – User)里生效,语法专属设置(如 Python.sublime-settings)会覆盖全局配置;改完不用重启,但得确保 JSON 格式合法,多一个逗号就会让整个配置失效。











