必须开启enable_ime(仅st4 build 4126+有效),并禁用hardware_acceleration、设置高dpi兼容模式,再安装新版imesupport插件,且搜狗需关闭高级文字服务,否则候选框无法跟随光标。

Sublime Text 中文输入法候选框不跟随光标,不是插件没装对,而是编辑器压根没把正确的屏幕坐标同步给系统输入法(IME)——enable_ime 没开、hardware_acceleration 没关、高 DPI 兼容没设,三者缺一,候选框就飞。
必须开启 enable_ime(仅 ST4 build 4126+ 有效)
这是最轻量、最优先的操作。旧版 Sublime(ST3 或 ST4 低版本)不支持该配置,强行添加无效;ST4 build 4126 及以上才真正启用 Windows 原生 IMM32 接口。
- 打开 Preferences → Settings,在右侧用户设置中添加:
"enable_ime": true(注意末尾英文逗号,若非最后一行) - 保存后必须彻底退出:右键托盘图标选 Exit,或任务管理器杀掉所有
subl.exe进程 - 仅关闭窗口或执行
Reload Settings不生效 - 不开它,后续所有补丁都只是“强行对齐”,无法解决根本通信断链
禁用 GPU 渲染并强制 DPI 感知(高分屏用户绕不开)
hardware_acceleration 开启时,Sublime 用 OpenGL 渲染,但 IMM32 接口只认 CPU 渲染下的原始像素坐标;加上系统虚拟缩放(如 125% DPI),报告的坐标被放大,输入法按原始像素定位,结果偏移几十像素甚至跳到副屏。
- 在用户设置中添加:
"hardware_acceleration": "none"(值是字符串"none",不是布尔值false) - 右键 Sublime 快捷方式 → 属性 → 兼容性 → 更改高 DPI 设置 → 勾选“替代高 DPI 缩放行为”,下拉选“应用程序”
- 两步缺一不可:只关硬件加速,高分屏仍错位;只设 DPI 模式,GPU 可能卡住输入法消息循环
- 已废弃的
gpu_window_buffer配置项不要加,新版本中无作用,还可能干扰渲染
手动安装魔改版 IMESupport 插件(别走 Package Control)
Package Control 里搜到的 IMESupport 是 ST3 时代的旧版,对 ST4 + Win10/11 + 高分屏基本无效。真正起效的是社区重写的增强分支,它做了 DPI 缩放补偿和多屏光标跟踪。
- 从 GitHub 搜索关键词
IMESupport sublime text 4 github,认准最近更新、明确标注支持高 DPI 的仓库(如 lyfeyaj 或 zcodes 的活跃维护分支) - 下载 ZIP 解压后,将
IMESupport-master文件夹重命名为IMESupport - 打开 Preferences → Browse Packages,把整个
IMESupport文件夹拖进该目录 - 如果之前装过旧版,务必先手动删掉旧
IMESupport文件夹,避免冲突 - 重启 Sublime,无需额外配置;插件自动加载后会修正候选框 Y 偏移和滚动失位
搜狗输入法必须关“高级文字服务”
搜狗新版默认启用“高级文字服务”,它绕过 IMM32 接口,直接 hook 文本框,和 Sublime 的轻量输入流严重不兼容,导致失焦、乱码、候选框乱飘。
- 右键搜狗状态栏图标 → 设置属性 → 高级
- 取消勾选:
使用高级文字服务(推荐)和允许在非标准编辑框中输入 - 勾选:
兼容模式(适用于老旧程序) - 临时验证可用微软拼音:右键微软拼音状态栏 → 键盘选项 → 开启“使用以前版本的微软拼音输入法”
- 每次 Sublime 更新后,若发现又失效,优先检查是否被搜狗自动重开了高级模式
最容易被忽略的是:每次更新 Sublime 后,sublime_imfix.dll 补丁需要重放;而哪怕只残留一个 subl.exe 进程,enable_ime 就不会生效——这不是配置问题,是进程生命周期没被真正重置。











