必须开启enable_ime,否则所有操作都是补丁;sublime text 4 build 4126+需启用该选项以激活imm32接口,再配合禁用gpu渲染、设置高dpi应用程序模式、安装魔改版imesupport插件及关闭搜狗高级文字服务,方可解决中文输入法候选框偏移问题。

必须开启 enable_ime,否则所有操作都是补丁
Sublime Text 4(build 4126+)才真正支持 Windows 原生 IMM32 输入法接口,但默认关闭。不开 enable_ime,编辑器压根不向系统上报真实光标坐标——尤其在高 DPI(125%/150%)下,输入法拿到的是被缩放扭曲的值,候选框必然飞到左上角或副屏。
- 打开
Preferences → Settings,在右侧用户设置中添加:"enable_ime": true(注意末尾英文逗号) - 保存后,**必须彻底退出所有
subl.exe进程**:任务管理器里搜干净,右键托盘图标选 Exit 也不够 - 重启 Sublime,不是重载配置,是全新进程加载
关掉 hardware_acceleration 并设“应用程序级”高 DPI 兼容
GPU 渲染 + 系统虚拟缩放 = 坐标错乱。IMM32 只认 CPU 渲染下的原始像素坐标,而 OpenGL 渲染会把坐标放大,输入法按“放大后”的值画框,自然偏移几十像素。
- 用户设置中加:
"hardware_acceleration": "none"(值是字符串"none",不是false) - 右键 Sublime 快捷方式 → “属性” → “兼容性” → “更改高 DPI 设置” → 勾选“替代高 DPI 缩放行为”,下拉选“应用程序”
- 两步缺一不可:只关硬件加速,高分屏仍错位;只设 DPI 模式,GPU 可能卡住 IME 消息循环
别装 Package Control 里的原版 IMESupport,手动装魔改分支
Package Control 中的 IMESupport 是老版本,对 ST4 + Win10/11 + 高分屏基本无效。真正起效的是社区重写的增强分支,它做了 DPI 缩放补偿、多屏光标跟踪和坐标映射重校准。
- 卸载旧版:菜单
Preferences → Browse Packages,删掉IMESupport文件夹(如果有) - 下载 zcodes/IMESupport 或国内镜像版,解压后新建
IMESupport文件夹,把全部文件(含ime_support.py)复制进去 - 重启 Sublime,无需额外配置,插件自动接管 IME 事件
搜狗输入法必须关“高级文字服务”
搜狗新版默认启用“高级文字服务”,它绕过 IMM32,直接 hook 文本框,和 Sublime 的轻量输入流严重不兼容——典型表现是切中文后失焦、按空格乱码、候选框卡死、甚至无法触发输入。
- 右键搜狗状态栏图标 → “设置属性” → “高级”标签页
- 取消勾选:
使用高级文字服务(推荐)、允许在非标准编辑框中输入 - 勾选:
兼容模式(适用于老旧程序) - 临时验证可用微软拼音:开启“使用以前版本的微软拼音输入法”,基本秒恢复
sublime_imfix.dll 补丁需重放,魔改版 IMESupport 插件也可能被覆盖;另外,杀毒软件常静默拦截插件注入,导致 ime_support.py 不生效。











