Sublime 中文输入法候选框不跟随光标是因未同步屏幕坐标给系统输入法,需依次启用 enable_ime、关闭硬件加速并设置高 DPI 兼容、安装魔改版 IMESupport 插件、关闭搜狗高级模式。

Sublime 中文输入法候选框不跟随光标,不是“不能输中文”,而是输入法根本不知道光标在哪——它卡在左上角、跳到副屏、或滚动后失位。本质是 Sublime 没把正确的屏幕坐标同步给系统输入法(IME),尤其在高 DPI、多屏、缩放非 100% 或用搜狗/QQ 输入法时必现。
启用内置 enable_ime(ST4 4126+ 必做)
Sublime Text 4 自 build 4126 起已内置实验性 IME 支持,但默认关闭。这是最轻量、最优先尝试的修复动作。
- 打开
Preferences → Settings,在右侧用户设置中添加:"enable_ime": true - 保存后必须彻底退出 Sublime(右键托盘图标选 Exit,或任务管理器杀掉所有
subl.exe进程),再重新启动 - 该选项启用 Windows 原生 IMM32 兼容层,让 Sublime 正确响应焦点切换、候选窗定位、编码状态等事件;未开启时,所有插件和设置都只是“打补丁”
关硬件加速 + 强制 DPI 感知(Windows 高分屏用户绕不开)
Sublime 默认用 OpenGL 渲染,但 Windows 的 IMM32 接口只认 CPU 渲染坐标;加上没声明 DPI-aware,系统会做虚拟缩放(比如 125% 缩放下报告的坐标被放大 1.25 倍),输入法按原始像素定位,自然错位。
- 在用户设置中加:
"hardware_acceleration": "none" - 右键 Sublime 快捷方式 → 属性 → 兼容性 → 更改高 DPI 设置 → 勾选“替代高 DPI 缩放行为”,下拉选“应用程序”
- 两步缺一不可:只关硬件加速,高分屏下仍偏移;只设 DPI 模式,GPU 渲染可能卡住输入法消息循环
换魔改版 IMESupport 插件(别装 Package Control 里的原版)
Package Control 里搜到的 IMESupport 是老版本,对 ST4 和 Win10/11 高分屏基本无效。真正起效的是国内开发者重写的增强分支,它重写了坐标映射逻辑,支持 DPI 缩放补偿和多屏光标跟踪。
- 先卸载通过 Package Control 安装的旧版
IMESupport(否则冲突) - 从 GitHub 下载魔改源码:https://www.php.cn/link/2e9806f9d005b04bf29665e786d9b845
-
Preferences → Browse Packages打开插件目录,新建文件夹IMESupport,把解压出的所有文件(含ime_support.py和sublime_plugin.py)复制进去 - 重启 Sublime,无需额外配置,自动生效
搜狗输入法要关“高级模式”(第三方输入法高频雷区)
搜狗新版默认开“高级文字服务”,会绕过部分系统接口,加剧与 Sublime 的坐标不同步。这不是 Sublime 的锅,是搜狗主动放弃兼容。
- 右键搜狗状态栏图标 → 设置属性 → 高级 → 取消勾选:
使用高级文字服务(推荐)和允许在非标准编辑框中输入 - 勾选:
兼容模式(适用于老旧程序)—— 对 Sublime 反而更稳 - 改完不用重启输入法,但建议也重启 Sublime 确保协同生效
最容易被忽略的是:enable_ime 必须重启进程才生效,很多人改完设置点“X”关窗口就以为好了;还有人装了魔改 IMESupport 却没卸载旧版,结果两个插件互相打架。高分屏用户若漏掉 DPI 设置那一步,其他所有操作都是白忙。










