必须先设"enable_ime": true,否则所有操作无效;再将"hardware_acceleration"设为"none"并配置高dpi兼容模式;最后安装github魔改版imesupport插件,三步缺一不可且须彻底退出subl.exe进程后重启。

没“一键修复”,但按顺序做完这三步,95% 的光标不跟随问题当场消失。不是靠重启、换输入法或调 DPI 缩放,而是直击 Sublime Text 4(build 4126+)在 Windows 上对 IMM32 接口的启用缺陷——enable_ime 不开,后面全白搭。
必须先设 enable_ime: true,否则所有操作都无效
这是 ST4 build 4126 起新增的硬性开关,不开它,Sublime 根本不向 Windows 输入法上报光标坐标、焦点状态和 DPI 缩放因子。候选框飞到左上角、副屏、甚至消失,全是这个原因。
- 打开
Preferences → Settings,编辑右侧用户设置 JSON - 添加:
"enable_ime": true,注意末尾加英文逗号(若非最后一行) - 保存后,**必须彻底退出**:右键托盘图标选
Exit,或任务管理器杀掉所有subl.exe进程——仅关闭窗口或Reload Window不生效
关掉 hardware_acceleration,不然坐标会被放大错位
OpenGL 渲染 + 系统 DPI 缩放(如 125%)会让 Sublime 报给输入法的光标坐标被错误放大,而输入法仍按原始像素定位,结果偏移几十像素是常态。只关 GPU 渲染还不够,还得配对处理高 DPI。
- 在用户设置中添加:
"hardware_acceleration": "none"(注意是字符串"none",不是false) - 右键 Sublime 快捷方式 →
属性 → 兼容性 → 更改高 DPI 设置→ 勾选“替代高 DPI 缩放行为”,下拉选“应用程序” - 顺手删掉已废弃配置,比如
"gpu_window_buffer": true,它们会干扰新渲染逻辑
装对 IMESupport:别用 Package Control,在线安装的原版根本不起作用
Package Control 搜索安装的 IMESupport 是 ST3 时代的原版,对 ST4 + Win10/11 + 高分屏完全失效。真正起效的是社区重写的魔改分支(如 zcodes/IMESupport),它做了 DPI 缩放补偿和多屏光标跟踪。
- 卸载通过 Package Control 安装的旧版
IMESupport - 从 GitHub 下载魔改版 ZIP(例如 https://www.php.cn/link/9255e8df7dc6a615445f42c0fd94587a),解压后重命名文件夹为
IMESupport - 按
Ctrl+Shift+P→ 输入Preferences: Browse Packages→ 回车,打开插件目录 - 把整个
IMESupport文件夹拖进该目录(路径应为Packages/IMESupport/ime_support.py等文件存在) - 重启 Sublime,无需额外配置,插件自动生效
最容易被忽略的点:三个动作必须严格按顺序执行——先开 enable_ime,再关 hardware_acceleration 并设 DPI 兼容,最后装魔改版 IMESupport。漏掉任意一步,或者只杀窗口不杀进程,问题都会残留。











