必须设"enable_ime": true,否则光标坐标不上报,所有修复无效;需在用户设置中添加该配置(末尾加逗号),并彻底退出subl.exe进程后重启。

Sublime中文输入法问题不是“调不好”,而是没按 Windows IME 协议的硬性要求走——enable_ime 必须为 true,否则光标坐标根本不上报,所有后续操作都是徒劳。
必须设 enable_ime: true 才能触发 IMM32 坐标同步
ST4 build 4126+ 内置了 Windows 原生 IMM32 接口,但默认关闭。不开它,编辑器不向输入法上报光标位置、焦点状态和 DPI 缩放因子,搜狗/微软拼音连“该在哪画候选框”都不知道,必然飞到左上角或副屏。
- 打开
Preferences → Settings,在右侧用户设置 JSON 中添加:"enable_ime": true - 该行若非最后一行,末尾必须加英文逗号
- 保存后必须彻底退出:右键托盘图标选
Exit,或任务管理器杀掉所有subl.exe进程——仅关闭窗口或Reload Window无效
高分屏下 hardware_acceleration 和 DPI 兼容模式必须配对生效
OpenGL 渲染 + 系统虚拟缩放(如 125%)会导致 Sublime 报告的坐标被错误放大,而输入法仍按原始像素定位,偏移几十像素是常态。单关硬件加速或单设 DPI 模式,都不解决问题。
- 在用户设置中添加:
"hardware_acceleration": "none"(注意是字符串"none",不是false或"off") - 右键 Sublime 快捷方式 →
属性 → 兼容性 → 更改高 DPI 设置→ 勾选“替代高 DPI 缩放行为”,下拉选择应用程序 - 顺手删掉已废弃的旧配置,如
"gpu_window_buffer": true,它们会干扰新渲染逻辑
别装 Package Control 里的原版 IMESupport,要魔改版
Package Control 搜索安装的 IMESupport 是 ST3 时代的原版,对 ST4 + Win10/11 + 高分屏完全失效。真正起效的是社区重写的魔改分支,它做了 DPI 缩放补偿和多屏光标跟踪。
- 卸载通过 Package Control 安装的旧版
IMESupport(否则可能冲突) - 从 GitHub 下载魔改版 ZIP(如
zcodes/IMESupport),解压后重命名文件夹为IMESupport - 按
Ctrl+Shift+P → Preferences: Browse Packages,打开插件目录,将整个IMESupport文件夹拖入(路径应为Packages/IMESupport/ime_support.py等文件存在) - 重启 Sublime,无需额外配置,插件自动生效
搜狗输入法必须关掉“高级文字服务”
搜狗新版默认开启“高级文字服务”,它绕过系统 IMM32 接口,直接 hook 文本框,和 Sublime 的轻量输入流严重不兼容——这不是 Sublime 的锅,是搜狗主动放弃兼容。
- 右键搜狗状态栏图标 →
设置属性 → 高级标签页 - 取消勾选:
使用高级文字服务(推荐)和允许在非标准编辑框中输入 - 勾选:
兼容模式(适用于老旧程序) - 临时验证可用微软拼音:右键输入法图标 →
键盘选项 → 开启使用以前版本的微软拼音输入法
最容易被忽略的是:所有设置都依赖 enable_ime 开启后的坐标通道;一旦这个开关没开,后面再怎么调 hardware_acceleration、装插件、改 DPI 模式,都只是在修一个不存在的管道。调试时务必把它放在第一步验证。











