将 caret_style 设为 "solid" 或 "phase" 可彻底关闭光标闪烁,其中 "solid" 为始终可见的实心块状光标,"phase" 为无闪烁但有透明度渐变的细竖线。

怎么让 Sublime 光标不闪烁?直接改 caret_style
Sublime 默认光标是闪烁的,但**原生不支持调节闪烁速度**——所谓“调快调慢”在软件设置里根本不存在。想彻底停闪,唯一可靠方式是把光标设为静态样式:caret_style 设为 "solid" 或 "phase" 即可关闭闪烁逻辑,不是“减弱”,而是从底层禁用。
-
"solid":实心块状光标,始终可见,无任何动画 -
"phase":细竖线 + 透明度渐变,视觉上有轻微“晃动感”,但不闪烁 - 别用
"blink"(已废弃)或依赖caret_blinking,它在新版 Sublime 中基本无效 - 如果设了
"solid"还在闪,大概率是系统级光标设置干扰,需同步检查操作系统设置
如何加粗或变宽光标?wide_caret 和 caret_extra_width 的区别
很多人混淆这两个参数:wide_caret 是开关,caret_extra_width 是微调。前者决定是否启用“宽竖线”模式(类似 Vim 的 block cursor 视觉),后者只在 caret_style 为 "smooth" 或 "wide" 时生效,用来增加像素宽度。
-
"wide_caret": true:强制所有光标变粗,对高分屏/远距离观看更友好 -
"caret_extra_width": 2:仅在"smooth"模式下让竖线加粗 2px;设为"wide"时该值被忽略 - 若同时设
"caret_style": "wide"和"wide_caret": true,效果可能重复,建议二选一 - 注意:加粗后若文字贴边难辨,可配
"caret_extra_top": 1和"caret_extra_bottom": 1留点呼吸空间
为什么改了设置没生效?常见覆盖和冲突点
Sublime 的光标行为容易被主题、插件甚至操作系统覆盖,不是改完就一定立刻变样。
- 某些 UI 主题(如 Material Theme)会重写
caret样式,优先级高于用户设置,需查主题文档或临时切换默认主题验证 - Vintageous / EasyMotion 等 Vim 模拟插件会在不同模式下强制切换
caret_style,此时你的全局设置会被覆盖 - macOS 上若启用了“减少运动”辅助功能,可能压制所有光标动画,包括
"phase"的渐变效果 - Windows 用户若在控制面板里把系统光标闪烁设为“关闭”,Sublime 也会跟着不闪——这时你改
caret_style就没意义了
能改光标颜色吗?原生限制与可行路径
Sublime 原生**不支持直接配置光标颜色**,caret 色值必须写在配色方案(.sublime-color-scheme)里,且只有部分主题解析该字段。
- 在当前 color scheme 文件的
"rules"数组末尾加一行:{"name": "Caret", "scope": "caret", "foreground": "#ff5555"} - 但很多主流方案(如 Monokai、Dracula)根本不定义
caretscope,所以加了也无效 - 更稳妥的方式是换支持光标着色的主题,比如 “Neon Color Scheme” 或手动 fork 一个并补全
caret规则 - 别试图用插件“强行染色”,像 ColorHighlighter 这类工具作用域是文本,不是光标渲染层
最常被忽略的一点:Sublime 的光标行为本质是“系统光标 + 样式覆盖”的混合体。你以为在调软件,其实一半在调系统。改设置前,先确认你到底想解决什么问题——是眼睛累?分屏时找不到光标?还是 Vim 用户怀念块状反馈?目标不同,解法完全不同。










