必须开启enable_ime: true并彻底退出subl.exe进程,配合禁用硬件加速、使用魔改imesupport插件、关闭搜狗高级文字服务,才能解决sublime text中文输入法候选框不跟随光标问题。

Sublime Text 里中文输入法候选框不跟光标,不是输入法坏了,也不是你装错了插件——而是编辑器压根没把正确的光标坐标、DPI 缩放和焦点状态同步给系统输入法。关键配置漏一项,就必然飞到左上角或副屏角落。
必须设 enable_ime: true(ST4 build 4126+ 硬性前提)
这是所有修复动作的起点,不开它,后续全是白忙。ST4 自 build 4126 起内置 IMM32 接口,但默认关闭;关着时 Sublime 不上报光标位置,输入法只能瞎猜。
- 打开
Preferences → Settings,在右侧用户设置 JSON 中添加:"enable_ime": true - 若该行不是最后一行,末尾必须加英文逗号
- 保存后,**必须彻底退出所有
subl.exe进程**(任务管理器里杀干净),仅关闭窗口或 Reload Window 无效
hardware_acceleration: "none" 是 Windows 高分屏用户的必选项
OpenGL 渲染 + 系统 DPI 缩放(如 125%)会让 Sublime 报告的坐标被错误放大,而输入法仍按原始像素定位,偏移几十像素是常态。只关硬件加速还不够,得配对操作。
- 在用户设置中添加:
"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 的锅,是搜狗主动放弃兼容。
- 右键搜狗状态栏图标 → 设置属性 → 高级标签页
- 取消勾选:“使用高级文字服务(推荐)” 和 “允许在非标准编辑框中输入”
- 勾选:“兼容模式(适用于老旧程序)”
- 改完立刻生效,无需重启 Sublime 或输入法
最麻烦的从来不是让它“不跟随”,而是让它稳定“跟随”——enable_ime 漏了、subl.exe 没杀干净、装了原版 IMESupport、或者搜狗高级服务开着,四者任一出问题,都会卡在“看似设置了却没用”的状态里。尤其高分屏多显示器用户,坐标错位往往不是单一配置导致,而是多个环节协同失效的结果。











