必须设"enable_ime": true(仅ST4 build 4126+有效),否则Sublime不向Windows上报光标坐标、焦点和DPI信息,导致候选框乱飞;还需禁用hardware_acceleration、启用高DPI兼容模式、安装魔改版IMESupport插件并关闭搜狗高级文字服务,且每次修改后须彻底退出subl.exe进程。

Sublime Text 默认不支持中文输入,尤其在 Windows 上容易出现候选框乱飞、光标不跟随、输入法失活等问题。根本原因不是“没装输入法”,而是编辑器未正确对接系统输入法接口——enable_ime 不开,其他全是白忙。
必须先设 enable_ime 为 true(ST4 build 4126+)
这是所有后续操作生效的前提,不是可选项。ST4 从 build 4126 起才启用 IMM32 接口,但默认关闭。不开它,Sublime 根本不向 Windows 上报光标坐标、焦点状态和 DPI 缩放信息,输入法连“该画在哪”都不知道。
- 打开
Preferences → Settings,在右侧用户设置 JSON 中添加:"enable_ime": true - 若该行不是最后一行,末尾必须加英文逗号
- 保存后必须彻底退出:右键托盘图标选 Exit,或任务管理器中杀掉所有
subl.exe进程——仅关闭窗口或 Reload Settings 无效
禁用硬件加速 + 配置高 DPI 兼容模式
OpenGL 渲染 + 系统缩放(如 125%)会让 Sublime 报告的像素坐标被错误放大,而输入法仍按原始分辨率定位,导致候选框偏移几十像素甚至跳到副屏。
- 在用户设置中添加:
"hardware_acceleration": "none"(注意是字符串"none",不是false) - 右键 Sublime 快捷方式 → 属性 → 兼容性 → 更改高 DPI 设置 → 勾选“替代高 DPI 缩放行为”,下拉选择 应用程序
- 顺手删掉已废弃配置,如
"gpu_window_buffer": true,它们会干扰新渲染逻辑
装魔改版 IMESupport,别碰 Package Control 里的原版
Package Control 搜索安装的 IMESupport 是 ST3 时代的老版本,对 ST4 + Win10/11 + 高分屏完全失效。它不做 DPI 补偿,也不支持多屏光标跟踪,装了反而可能冲突。
- 卸载通过 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 和 hardware_acceleration 必须同时生效,单做其一几乎必然失败。

















