候选词闪烁根源是光标坐标错位,需同时开启enable_ime、设hardware_acceleration为"none"、配置高DPI兼容模式、安装维护版IMESupport插件,并关闭微软拼音嵌入式候选窗口,且每次修改后必须彻底杀掉subl.exe进程再重启。

候选词闪烁根本不是输入法或插件“不稳定”,而是光标坐标在多轮渲染中反复错位——enable_ime没开、hardware_acceleration没关、DPI 模式没对齐,三者任一缺失都会导致坐标抖动,输入法就只能在几个错误位置之间来回跳。
必须确认 enable_ime 已开启且进程彻底重启
ST4 build 4126+ 才真正支持 Windows 原生 IMM32 接口,但默认关闭。不开 enable_ime,Sublime 根本不向输入法上报焦点状态和光标坐标,候选框连“该在哪出现”都不知道,更别说稳定显示。
- 打开
Preferences → Settings,在右侧用户设置 JSON 中添加:"enable_ime": true - 若这行不是最后一行,末尾必须加英文逗号
- 保存后,**必须右键托盘图标选 Exit,或用任务管理器杀掉所有
subl.exe进程**——仅关闭窗口或 Reload Settings 完全无效
hardware_acceleration 必须设为 "none",不是 false
GPU 渲染(OpenGL)会让 Sublime 报告的光标坐标被高 DPI 缩放二次放大。比如系统缩放 125%,它说“y=250”,实际物理像素是 y=200,输入法按 250 定位,候选框就飘上去;滚动几下,误差累积,就变成明显闪烁甚至跳屏。
- 在用户设置中添加:
"hardware_acceleration": "none"(注意是字符串"none",不是布尔值) - 右键 Sublime 快捷方式 → “属性” → “兼容性” → “更改高 DPI 设置” → 勾选“替代高 DPI 缩放行为”,下拉选“应用程序”
- 删掉已废弃的
"gpu_window_buffer": true或false,它在新版本中无作用,还可能干扰坐标计算
别装 Package Control 里的原版 IMESupport
Package Control 搜索安装的 IMESupport 是 ST3 时代的旧版,没做 DPI 补偿、不跟踪多屏光标、也不适配 ST4 插件加载机制。它收不到 enable_ime 传来的原始坐标,候选框该闪还是闪。
- 手动删除
Packages/IMESupport文件夹(路径可通过Ctrl+Shift+P → Preferences: Browse Packages进入) - 去 GitHub 搜索活跃维护分支,如
zcodes/IMESupport或lyfeyaj/IMESupport,下载 ZIP 解压 - 把解压后的文件夹重命名为
IMESupport,拖进Packages目录(确保里面有ime_support.py) - 重启 Sublime,无需额外配置
微软拼音必须关掉“嵌入式候选窗口”
这个选项会让微软拼音尝试把候选框直接画进 Sublime 的文本渲染层里,但 Sublime 并不提供标准接口,结果就是候选框定位失准、点击失焦、上屏文字插入错位——视觉上就是频繁闪烁或突然消失。
- 右键任务栏微软拼音图标 → “设置” → “常规” → “候选窗口”选项卡
- 取消勾选“使用嵌入式候选窗口”
- 勾选“在应用程序上方显示候选窗口”
最容易被忽略的是:每次改完配置,都得杀干净 subl.exe 进程再启动;哪怕只差一个逗号、只漏一步 DPI 设置,候选框就会在“左上角—光标旁—副屏”之间随机切换——这不是偶发 bug,是坐标链路断了的必然表现。

















