Sublime光标样式由caret_style控制,取值包括"phase"(默认细竖线)、"wide"(加粗竖线)、"solid"(实心块,唯一彻底禁闪方案)、"underline"等;"block"非官方支持值,禁闪应设"caret_style":"solid"并清空额外尺寸。

Sublime 的光标样式由 caret_style 控制,不是主题或插件决定的
所有光标形状(竖线、块状、下划线)都靠 JSON 配置项 caret_style 实现,写在 Preferences → Settings – User 右侧面板里。左侧默认设置改了无效,还会被升级覆盖。
常见取值有:"phase"(默认细竖线,带轻微呼吸感)、"wide"(加粗竖线)、"solid"(实心块,填满字符高度)、"underline"(下划线)、"wide_underline"(粗下划线)。注意:"block" 不是官方支持值,部分文档误传;真正原生块状只有 "solid"。
-
"caret_style": "solid"是唯一彻底禁用闪烁、且不依赖动画定时器的方案 -
"wide"和"wide_caret": true功能重叠,混用可能导致光标偏移或粗细异常,二者选其一即可 - 设
"caret_style": "hidden"会完全隐藏光标,慎用——尤其在多屏或高缩放下极易“丢焦点”
想关闪烁?别调 blink_interval,直接设 caret_blinking 或换 caret_style
blink_interval 在 ST4 build 4143+ 才稳定生效,ST3 及更早版本基本忽略;即使生效,也只对已废弃的 "blink" 模式起作用,而该模式多数主题下会被降级为 "phase" 或直接无视。
真正可靠的方式只有两个:
- 设
"caret_blinking": false—— 全局关闭闪烁,光标常显(但"phase"等模式仍可能残留微动) - 设
"caret_style": "solid"并显式清空额外尺寸:"caret_extra_top": 0、"caret_extra_bottom": 0、"caret_extra_width": 0—— 这是唯一原生、稳定、无需插件的禁闪组合,缺一不可
macOS / Windows / Linux 的系统级光标闪烁设置会覆盖 Sublime 的任何尝试,所以如果发现改了没反应,先去系统辅助功能里查一下。
caret_width 和 wide_caret 的区别与使用陷阱
caret_width 仅对 "smooth" 或 "wide" 模式生效;设为 "solid" 时它完全被忽略。而 wide_caret 是布尔开关,开启后会让默认竖线变粗,和 caret_style 独立作用——但它和 "wide" 模式语义重复,同时启用容易导致渲染错位。
- 想要加粗竖线:用
"caret_style": "wide",别加wide_caret - 想要更柔和的加粗效果:用
"caret_style": "smooth"+"wide_caret": true -
"caret_extra_width": 2是横向加粗像素值,对"solid"有效,普通屏够用;MacBook Pro 等高分屏建议设为 3~4
VSCode 用户别套用 Sublime 的思路
VSCode 的光标控制逻辑完全不同:editor.cursorWidth 直接控制像素宽度(推荐设为 2),editor.cursorBlinking 控制闪烁行为("solid" = 常显),颜色必须走 workbench.colorCustomizations 覆盖 editorCursor.foreground。Sublime 没有对应于 editor.cursorWidth 的全局像素级宽度配置,它的“宽”是字体相关或模式绑定的。
最容易被忽略的一点:Sublime 的 "solid" 光标在 overwrite 模式下会变成横线(不是 bug,是设计),此时打字会覆盖后续字符——如果你突然发现光标变短横了,先按 Insert 键切回 insert 模式。

















