必须设"enable_ime": true,否则编辑器不向windows imm32接口上报光标坐标、焦点状态和dpi信息,导致候选框飞至左上角或副屏;需在用户设置中添加该配置、末尾加逗号,并彻底退出subl.exe进程后重启。

确认 enable_ime 是否真正生效
Sublime Text 4 build 4126+ 才支持 Windows 原生 IME 接口,但默认关闭;enable_ime 不是可选开关,而是通信链路的总闸——关了它,编辑器根本不向系统上报光标坐标、焦点状态和编码模式,后续所有补丁都无效。
实操建议:
- 打开
Preferences → Settings,在右侧用户设置 JSON 中添加:"enable_ime": true(注意末尾英文逗号) - 保存后必须彻底退出:右键托盘图标选 Exit,或用任务管理器杀掉所有
subl.exe进程——仅关闭窗口或执行Reload Settings完全不生效 - 验证是否生效:启动后,在中文输入状态下按
Ctrl + Shift + P调出命令面板,若能正常唤出候选框且光标位置大致正确,说明enable_ime已通
检查 hardware_acceleration 和高 DPI 设置是否同步配平
GPU 渲染(hardware_acceleration)与系统 DPI 缩放(如 125%)叠加时,Sublime 报告的坐标会被放大,而输入法仍按原始像素定位,结果候选框偏移几十像素,甚至跳到副屏。只关硬件加速、不调 DPI 模式,或反之,都不行。
实操建议:
- 在用户设置中添加:
"hardware_acceleration": "none"(值必须是字符串"none",不是false) - 右键 Sublime 快捷方式 → 属性 → 兼容性 → 更改高 DPI 设置 → 勾选“替代高 DPI 缩放行为”,下拉选 应用程序
- 删除已废弃项,如
"gpu_window_buffer": true,它在新版本中无作用,还可能干扰渲染
验证 IMESupport 插件是否为魔改版且路径正确
Package Control 里搜到的 IMESupport 是 ST3 时代旧版,对 ST4 + Win10/11 + 高分屏完全失效:没做 DPI 缩放补偿,也不支持多屏光标跟踪。装了反而可能和新机制冲突。
实操建议:
- 卸载通过 Package Control 安装的旧版
IMESupport - 从 GitHub 下载社区重写的魔改分支(如
zcodes/IMESupport或lyfeyaj/IMESupport),解压后重命名文件夹为IMESupport - 按
Ctrl + Shift + P→ 输入Preferences: Browse Packages→ 回车打开插件目录,将整个IMESupport文件夹拖入该目录(路径应为Packages/IMESupport/ime_support.py存在) - 重启 Sublime 后,插件自动加载,无需额外配置;若仍异常,检查任务管理器中是否有残留
subl.exe进程
排查搜狗输入法的高级文字服务干扰
搜狗在 Win10/11 上默认启用“高级文字服务”(Advanced Text Service),它会劫持 IMM32 消息链路,导致 Sublime 收不到候选框回调——即使前面全配对,这里一开就白搭。
实操建议:
- 打开搜狗输入法设置 → 高级设置 → 取消勾选“启用高级文字服务”
- 重启搜狗进程:在任务管理器中结束
SogouCloud.exe和SogouPY.exe - 切换至微软拼音测试:若微软拼音能正常弹框、跟随光标,而搜狗不能,则基本锁定是该服务干扰
enable_ime)、上报值被扭曲(hardware_acceleration + DPI)、上报后被截胡(搜狗高级服务)。缺一不可,也绕不开任何一步。











