必须开启"enable_ime": true,否则sublime不向windows上报光标坐标、焦点和dpi信息,输入法无法定位候选框;再设"hardware_acceleration": "none"、启用魔改版imesupport插件、关闭搜狗高级文字服务,并彻底退出所有subl.exe进程后重启。

Sublime Text 中文输入法不跟随光标,不是插件没装对,而是编辑器压根没把正确的坐标同步给系统输入法——enable_ime 没开、hardware_acceleration 没关、DPI 缩放没声明,三者缺一,候选框必飞。
必须先开 enable_ime(ST4 build 4126+ 专属)
这是所有修复动作的前提。不开它,Sublime 不向 Windows 上报光标位置、焦点状态和 DPI 缩放因子,输入法连“该往哪画候选框”都不知道。
- 打开
Preferences → Settings,在右侧用户设置 JSON 中添加:"enable_ime": true - 若该行不是最后一行,末尾必须加英文逗号
- 保存后必须彻底退出:右键托盘图标选 Exit,或在任务管理器中杀掉所有
subl.exe进程——仅关闭窗口或Reload Window无效
Windows 下必须关 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 的锅,是搜狗主动放弃兼容。
- 右键搜狗状态栏图标 → 设置属性 → 高级标签页
- 取消勾选:使用高级文字服务(推荐) 和 允许在非标准编辑框中输入
- 勾选:兼容模式(适用于老旧程序)
- 临时验证可用微软拼音:打开“键盘选项” → 开启 使用以前版本的微软拼音输入法
最容易被忽略的是:每次改完配置都必须杀干净所有 subl.exe 进程再启动,哪怕只留一个后台进程,新设置也不会加载;另外,Linux 用户需额外处理 GTK_IM_MODULE 和 GDK_BACKEND 环境变量,macOS 用户要注意 gpu_window_buffer 在 Metal 后端下的副作用——这些细节一旦漏掉,前面所有操作都白做。











