必须启用enable_ime,否则后续所有操作均无效;因ST4 build 4126+默认关闭IMM32兼容层,不启用则无法向Windows输入法上报光标坐标、焦点状态和DPI缩放因子,导致候选框飞至左上角或副屏。

必须启用 enable_ime,否则所有后续操作都只是临时糊墙——这不是建议,是 ST4 build 4126+ 的硬性前提。
为什么 enable_ime 是绕不开的第一步
Sublime Text 4 自 build 4126 起内置了 IMM32 兼容层,但默认关闭。不开它,编辑器压根不向 Windows 输入法上报真实光标坐标、焦点状态和 DPI 缩放因子。结果就是输入法连“该往哪画候选框”都不知道,必飞到左上角或副屏。
- 在
Preferences → Settings右侧用户设置中添加:"enable_ime": true - 非最后一行时,该行末尾必须加英文逗号
- 保存后必须彻底退出:右键托盘图标选 Exit,或任务管理器杀掉所有
subl.exe进程;仅关闭窗口无效
hardware_acceleration 和高 DPI 兼容模式必须配对使用
GPU 渲染 + 系统虚拟缩放(如 125%)会让 Sublime 报告的坐标被错误放大,而输入法仍按原始像素定位,偏移几十像素是常态。单关硬件加速或单设 DPI 模式,都不解决问题。
- 在用户设置中添加:
"hardware_acceleration": "none"(注意是字符串"none",不是布尔值false) - 右键 Sublime 快捷方式 → 属性 → 兼容性 → 更改高 DPI 设置 → 勾选“替代高 DPI 缩放行为”,下拉选 应用程序
- 顺手删掉已废弃的
"gpu_window_buffer": true等旧配置,它们会干扰新渲染逻辑
别装 Package Control 里的原版 IMESupport,要手动放魔改版
Package Control 中搜到的 IMESupport 是 ST3 时代的旧版,对 ST4 + Win10/11 + 高分屏完全失效。真正起效的是社区重写的魔改分支,它做了 DPI 缩放补偿和多屏光标跟踪。
- 从 GitHub 下载魔改版 ZIP(认准最近更新、明确标注支持高 DPI 的仓库)
- 按
Ctrl+Shift+P→ 输入Preferences: Browse Packages→ 回车,打开插件目录 - 解压后重命名文件夹为
IMESupport,整个文件夹拖进该目录(路径应为Packages/IMESupport/ime_support.py等文件存在) - 若之前装过旧版,先手动删掉旧
IMESupport文件夹,避免冲突 - 重启 Sublime,无需额外配置,插件自动生效
搜狗输入法必须关“高级文字服务”
搜狗新版默认开启“高级文字服务”,它绕过系统 IMM32 接口,直接 hook 文本框,和 Sublime 的轻量输入流严重不兼容——这不是 Sublime 的锅,是搜狗主动放弃兼容。
- 右键搜狗状态栏图标 → 设置属性 → 高级 标签页
- 取消勾选:使用高级文字服务(推荐)、允许在非标准编辑框中输入
- 勾选:兼容模式(适用于老旧程序)
这些步骤里最容易被跳过的,是彻底杀掉 subl.exe 进程和搜狗的兼容模式开关——缺一不可,少一步候选框就还在飞。

















