Sublime Text 光标样式需在用户配置文件 Preferences.sublime-settings 中设置,如 "caret_style": "block"(块状)、"underline"(下划线)等,并配合 "caret_animation_enabled": false 彻底禁用闪烁;插件可能覆盖设置,需禁用排查。

光标样式在 Preferences.sublime-settings 里改
Sublime Text 的光标样式(比如块状、竖线、下划线)和闪烁行为,不靠插件或 UI 设置面板,而是直接写进用户配置文件。打开 Preferences → Settings,右边的用户设置区域就是修改位置。
常见错误是去改默认设置(左边),那只是只读参考,改了也不生效;或者误以为要装插件,其实原生就支持。
-
"caret_style": "solid"—— 实心竖线(默认);可选"smooth"(带淡入淡出)、"phase"(呼吸式闪烁)、"wide"(加粗竖线)、"block"(块状光标)、"underline"(下划线) -
"caret_extra_top": 2、"caret_extra_bottom": 2、"caret_extra_width": 1可微调块状/下划线光标的尺寸(仅对"block"和"underline"有效) - 禁用闪烁?设
"caret_style": "solid"+"caret_animation_enabled": false,后者必须显式关掉,否则"solid"仍会轻微闪烁
caret_animation_enabled 控制的是「动画」不是「开关」
很多人以为把 "caret_animation_enabled" 设为 false 就能彻底停掉光标变化,其实它只关掉「过渡动画」——比如从闪烁到静止的渐变过程。如果 "caret_style" 是 "phase" 或 "smooth",关掉动画后光标依然会按节奏明暗变化,只是没了缓动效果。
真正想让光标完全不闪,得组合使用:"caret_style": "solid"(或 "block")+ "caret_animation_enabled": false。单独关动画没用。
- macOS 上部分显卡驱动会让
"phase"模式异常卡顿,表现为光标跳帧或延迟响应,换"solid"能立刻缓解 - 远程桌面或高 DPI 缩放场景下,
"wide"光标偶尔渲染错位,建议优先用"solid"或"block"
不同 caret_style 值的实际表现差异
值不是纯语义化命名,每个对应特定渲染逻辑,影响编辑体验:
-
"block":光标覆盖整个字符区域,适合 Vim 模式或喜欢强视觉定位的人;但在等宽字体下可能略宽于字符,尤其搭配"font_size": 14+时容易挤占邻近字符空间 -
"underline":只画一条底线,对齐文字基线;但某些字体(如"Fira Code")下线宽过细,小字号时几乎看不见 -
"smooth":默认开启时有淡入淡出,但 Sublime 4.4+ 版本中若启用 GPU 渲染("gpu_window_buffer": true),该样式可能在滚动时残留残影
改完不生效?先确认是否被插件覆盖
有些插件(比如 BlockCursor、FocusMode)会动态劫持光标样式,优先级高于用户设置。现象是:配置明明写了 "block",但普通编辑时是竖线,只有进入命令面板才变块状。
排查方法很简单:临时禁用所有插件(Preferences → Package Control → Disable Package),再重启 Sublime,看光标是否回归预期。确认是插件干扰后,要么删插件,要么查它文档里有没有禁用光标接管的开关项(常见配置名如 "disable_cursor_override")。
另外注意:多光标编辑(Ctrl+Click)下,所有光标强制使用 "solid" 样式,无论配置如何,这是 Sublime 内部硬编码行为,无法绕过。










