必须设"enable_ime": true并彻底重启进程,且hardware_acceleration设为"none"、禁用搜狗高级文字服务、使用维护版IMESupport插件,才能解决候选框闪烁与定位丢失。

enable_ime 必须设为 true 且 Sublime 进程彻底重启
Sublime Text 4 build 4126+ 才真正支持 enable_ime,旧版本加了也无效。设完不等于生效——很多人点了“关闭窗口”就以为重启了,其实 subl.exe(Windows)或 Sublime Text(macOS/Linux)进程仍在后台运行,新配置根本没加载。
正确做法是:
- 在
Preferences → Settings用户设置中添加:"enable_ime": true(注意末尾英文逗号) - 右键任务栏 Sublime 图标 → Exit;或打开任务管理器,杀掉所有
subl.exe/Sublime Text进程 - 重新启动,不是“重新打开文件”,是完整的新进程
hardware_acceleration 必须是字符串 "none",不是 false
GPU 渲染会让光标坐标在高 DPI 屏幕下被错误缩放。比如系统缩放 125%,Sublime 报给输入法的 y=250 像素,实际物理位置却是 y=200,候选框就飘上去 50 像素——滚动时误差累积,导致明显闪烁和跳变。
关键细节:
- 用户设置中必须写:
"hardware_acceleration": "none"(双引号包裹的字符串,不是布尔值) - 删掉过时的
"gpu_window_buffer": false,它在 ST4 中已无作用,还可能干扰 - Windows 用户额外进快捷方式属性 → 兼容性 → 更改高 DPI 设置 → 勾选“替代高 DPI 缩放行为”,下拉选“应用程序”
别装 Package Control 里搜到的 IMESupport
Package Control 源里那个 IMESupport 是 ST3 时代的废弃版本,不处理 DPI 补偿、不跟踪多屏光标、也不适配 ST4 插件生命周期。你装了它,控制台不报错,但候选框该闪还是闪。
正确做法是手动安装维护分支:
- 先用
Ctrl + Shift + P→Preferences: Browse Packages进入插件目录 - 删掉
Packages/IMESupport文件夹(如果存在) - 去 GitHub 搜索
zcodes/IMESupport或lyfeyaj/IMESupport,下载 ZIP 解压 - 把解压出的文件夹重命名为
IMESupport,拖进Packages目录(确保里面有ime_support.py)
搜狗输入法必须关掉“高级文字服务”
搜狗新版默认启用该功能,它绕过 Windows 标准 IMM32 接口,直接 hook 内存读取文本——Sublime 的 enable_ime 通道完全被绕开,候选框失去坐标同步依据。
关闭路径:
- 右键任务栏搜狗图标 → “设置” → “高级”选项卡
- 找到“高级文字服务”或“增强模式”,取消勾选
- 重启搜狗进程(或整个系统)确保生效
最常被忽略的一点:哪怕其他所有配置都对,只要搜狗这个开关开着,enable_ime 就形同虚设。它不报错,只是默默失效。

















