必须开启enable_ime(仅st4 build 4126+有效),这是最轻量、最优先操作;否则因高dpi、多屏或搜狗/qq输入法导致坐标不同步,候选框必然偏移。

Sublime Text 中文输入法候选框不跟随光标,不是插件没装对,而是编辑器压根没把正确的屏幕坐标同步给系统输入法(IME)——尤其在 Windows 高 DPI 屏、多显示器或用搜狗/QQ 输入法时,enable_ime 没开、GPU 渲染开着、DPI 缩放没声明,三者任缺其一,候选框就飞。
必须开启 enable_ime(ST4 4126+ 才有效)
这是最轻量、最优先的操作。旧版 Sublime(ST3 或 ST4
- 打开
Preferences → Settings,在右侧用户设置中添加:"enable_ime": true,注意末尾加英文逗号(若非最后一行) - 保存后,**必须彻底退出所有
subl.exe进程**(任务管理器里杀干净),再重新启动 - 该配置启用 Windows 原生 IMM32 接口,让 Sublime 正确响应焦点切换和光标定位;不开它,后面所有补丁都只是“强行对齐”
关 GPU 渲染 + 强制 DPI 感知(高分屏用户绕不开)
OpenGL 渲染 + 系统虚拟缩放(如 125% DPI)会让 Sublime 报告的坐标被放大,而输入法按原始像素算位置,结果偏移几十像素甚至跳到副屏。
- 在用户设置中加:
"hardware_acceleration": "none" - 右键 Sublime 快捷方式 → “属性” → “兼容性” → “更改高 DPI 设置” → 勾选“替代高 DPI 缩放行为”,下拉选“应用程序”
- 两步缺一不可:只关硬件加速,高分屏仍错位;只设 DPI 模式,GPU 可能卡住 IME 消息循环
别装 Package Control 里的原版 IMESupport
Package Control 搜索到的 IMESupport 是老版本,对 ST4 + Win10/11 高分屏基本无效。真正起效的是社区魔改分支,它重写了坐标映射逻辑,支持 DPI 补偿和多屏跟踪。
- 从 GitHub 下载魔改版源码(如 zcodes 分支):
https://github.com/zcodes/IMESupport -
Preferences → Browse Packages打开插件目录,新建文件夹IMESupport,把解压出的所有文件(含ime_support.py)复制进去 - 如果之前装过旧版,先卸载再覆盖,否则可能冲突
- 重启生效,无需额外配置
搜狗输入法要关“高级模式”
搜狗新版默认开启“高级文字服务”,会绕过系统 IMM32 接口,直接 hook 文本框,和 Sublime 的轻量输入流严重不兼容。
- 右键搜狗状态栏图标 → “设置属性” → “高级”标签页
- 取消勾选:
使用高级文字服务(推荐)和允许在非标准编辑框中输入 - 勾选:
兼容模式(适用于老旧程序) - 临时验证:切到微软拼音,打开“键盘选项” → 开启
使用以前版本的微软拼音输入法,基本秒恢复
最容易被忽略的是:每次 Sublime 更新后,sublime_imfix.dll 补丁需要重放,魔改版 IMESupport 插件也要确认是否被覆盖;另外,杀毒软件常误报这类修复 DLL,得手动加信任——这些细节不处理,前面全白配。











