最稳定停闪方案是设 caret_style 为 "solid" 并将 caret_extra_top、caret_extra_bottom、caret_extra_width 显式设为 0;修改必须在 preferences → settings 的右侧(user)面板中进行,且 json 语法需合法。

怎么让 Sublime 光标不闪烁
直接设 caret_blinking 为 false 最干脆,但实际效果取决于 caret_style 的配合。Sublime 的“不闪烁”不是靠关开关实现的,而是靠换样式——比如设成 "solid" 后,光标压根不走动画逻辑,自然不闪。
-
caret_blinking: false在部分主题或硬件加速开启时可能失效,尤其 macOS 上常被系统级光标策略干扰 -
caret_style: "solid"是唯一原生稳定停闪方案,它渲染为填满字符高度的实心块,无任何过渡帧 - 别只改
caret_style,顺手把caret_extra_top、caret_extra_bottom、caret_extra_width显式设为0,否则某些主题会偷偷加 padding 导致光标“虚胖”或偏移
怎么设置块状光标(类似 Vim 的 block 模式)
Sublime 没有真正意义上的“模式感知块光标”,但 "solid" 是最接近的原生选项:它不依赖插件、不随插入/命令模式切换,就是静态块。
-
caret_style: "solid"渲染为实心矩形,高度对齐字体行高,视觉上就是块 -
"wide"或"smooth"看起来像块,其实是加粗竖线,本质仍是线状光标,仍会闪烁(除非额外关掉caret_blinking) - 想模拟 Vim 风格?得装插件如
Vintageous,但要注意它接管光标逻辑后,和原生caret_style冲突,此时用户设置里的光标参数多数失效
怎么调光标粗细和位置(让光标更醒目)
原生不支持直接改颜色,但能通过尺寸和间距增强识别度。关键不是“加粗”,而是“占位更准”。
-
wide_caret: true只对"phase"和"smooth"有效,会让竖线变宽;对"solid"无效——块光标宽度由字体决定 -
caret_extra_top和caret_extra_bottom是像素值,加 1~2 就能让光标上下略伸展,避免贴着文字“藏起来” -
caret_extra_width对大多数样式无效,仅在"smooth"下起作用,且受当前主题限制,有些 UI 主题会强制覆盖该值
为什么改了设置没反应
90% 是改错了地方:你编辑的是左侧默认配置(Default),而不是右侧用户配置(User)。Sublime 升级后默认配置会被重置,且左侧修改永远不生效。
- 必须打开 Preferences → Settings,只动右侧(User)面板里的 JSON
- 确保语法合法:逗号不能多也不能少,最后一项后面不能有逗号,键名用英文双引号包裹
- 改完保存即生效,不用重启,但如果用了插件(如 Theme - UI 类),可能需要重载主题或禁用插件再试
- macOS 系统设置里的「隐藏键盘光标」对 Sublime 文本光标完全无效——它是自己画的,和系统指针无关
Sublime 的光标控制看似简单,但真正稳定生效的组合只有几个:要么 "solid" + 清零 caret<em>extra</em>*,要么 "wide" + wide_caret: true + caret_blinking: false。其他参数容易被主题或插件劫持,不如先砍掉干扰项,再一点点加。










