必须设 enable_ime: true,否则所有高级设置都无效;sublime text 4 build 4126+ 才支持 windows 原生 imm32 输入法接口但默认关闭,不开此选项则光标坐标、焦点状态和 dpi 缩放因子均不上报,输入法无法正确定位候选框。

必须设 enable_ime: true,否则所有高级设置都无效
Sublime Text 4(build 4126 及以上)才真正支持 Windows 原生 IMM32 输入法接口,但默认关闭。不开 enable_ime,编辑器根本不向系统上报光标坐标、焦点状态和 DPI 缩放因子——输入法连“该在哪弹候选框”都不知道,后续任何调整都是徒劳。
实操建议:
- 打开
Preferences → Settings,在右侧用户设置 JSON 中添加:"enable_ime": true - 若该行后面还有其他配置项,末尾必须加英文逗号
- 保存后必须彻底退出:右键托盘图标选 Exit,或用任务管理器杀掉所有
subl.exe进程——仅关闭窗口或按Ctrl+Shift+P → Reload Window完全无效
hardware_acceleration 和高 DPI 兼容必须配对启用
OpenGL 渲染 + 系统缩放(如 125%)会导致 Sublime 报告的像素坐标被放大,而输入法仍按原始分辨率定位,结果候选框偏移几十像素,甚至跳到副屏。单关硬件加速或单设 DPI 模式,都不解决问题。
实操建议:
- 在用户设置中添加:
"hardware_acceleration": "none"(注意是字符串"none",不是布尔值false) - 右键 Sublime 快捷方式 → 属性 → 兼容性 → 更改高 DPI 设置 → 勾选“替代高 DPI 缩放行为”,下拉选“应用程序”
- 删掉已废弃配置项,如
"gpu_window_buffer": true,它在新版本中无作用,还可能干扰渲染逻辑
别装 Package Control 里的 IMESupport,要魔改版
Package Control 上搜到的 IMESupport 是 ST3 时代的老版本,没做 DPI 补偿、不支持多屏光标跟踪,对 ST4 + Win10/11 + 高分屏完全失效。装了反而可能和新机制冲突,导致输入法偶尔失焦或候选框卡住。
实操建议:
- 卸载通过 Package Control 安装的旧版
IMESupport - 从 GitHub 下载社区重写的魔改分支(如
zcodes/IMESupport),解压后重命名为IMESupport - 按
Ctrl+Shift+P → Preferences: Browse Packages打开插件目录,将整个IMESupport文件夹拖入该目录(路径应为Packages/IMESupport/ime_support.py等文件存在) - 重启 Sublime,插件自动生效,无需额外命令或配置
搜狗输入法必须关闭“高级文字服务”
搜狗新版默认启用“高级文字服务”(Advanced Text Service),它绕过系统 IMM32 接口,直接 hook 文本控件,与 Sublime 的轻量输入流严重不兼容。这不是 Sublime 的问题,而是搜狗主动放弃标准接口支持。
实操建议:
- 右键搜狗状态栏图标 → 设置属性 → 高级 标签页
- 取消勾选“启用高级文字服务”
- 重启搜狗输入法(或注销再登录),确保设置生效
- 其他输入法(如微软拼音、QQ拼音)一般无需此操作,但若出现候选框错位,也建议检查其是否启用了类似非标准模式
最易被忽略的是进程残留:哪怕只留一个 subl.exe 在后台,enable_ime 就不会加载,魔改插件也不会初始化。每次改完设置,务必确认任务管理器里没有残留进程——这是 90% 中文输入异常的根源。











