sublime text 4 必须启用 enable_ime 并禁用 gpu 渲染、启用高 dpi 应用程序模式,同时安装魔改版 imesupport 插件并正确配置搜狗输入法兼容模式,才能在 windows 高分屏下实现光标与输入法候选框精准同步。

Sublime Text 4 必须启用 enable_ime 才能正确同步光标位置
不启用这个配置,所有后续修复都只是打补丁。ST4 build 4126+ 内置了 IMM32 兼容层,但默认关闭——它负责把真实光标坐标、焦点状态、DPI 缩放因子准确传给 Windows 输入法(IME),否则搜狗或微软拼音根本不知道你在哪打字。
操作很简单:
- 打开
Preferences → Settings,在右侧用户设置中添加:"enable_ime": true - 确保该行末尾有英文逗号(如果后面还有其他配置)
- 必须彻底退出 Sublime:右键托盘图标选 Exit,或任务管理器杀掉所有
subl.exe进程 - 重新启动后才生效;仅 reload 设置或关窗口重开无效
Windows 高分屏下必须同时禁用 GPU 渲染 + 强制 DPI 感知模式
GPU 渲染(OpenGL)和系统虚拟缩放(如 125% DPI)叠加时,Sublime 报告的光标坐标会被放大,而输入法仍按原始像素定位——结果就是候选框飞到左上角、副屏,甚至滚动后完全失位。
这两步缺一不可:
- 在用户设置中加:
"hardware_acceleration": "none"(注意值是字符串"none",不是布尔值) - 右键 Sublime 快捷方式 → 属性 → 兼容性 → 更改高 DPI 设置 → 勾选“替代高 DPI 缩放行为”,下拉选“应用程序”
- 别碰已废弃的
gpu_window_buffer,它在新版本中无作用,还可能干扰渲染逻辑
别装 Package Control 里的原版 IMESupport,要手动装魔改分支
Package Control 中搜到的 IMESupport 是 ST3 时代的旧版,对 ST4 + Win10/11 + 高分屏完全失效。真正起效的是社区重写的增强分支,它实现了 DPI 缩放补偿、多屏光标跟踪和坐标映射重校准。
安装步骤很直接:
- 从 GitHub 下载魔改版源码(搜索关键词
IMESupport sublime text 4 github,认准最近更新且明确标注支持高 DPI 的仓库) - Preferences → Browse Packages,进入插件目录
- 新建文件夹
IMESupport,把解压出的所有文件(含ime_support.py和sublime_plugin.py)复制进去 - 如果之前装过旧版,先手动删掉旧
IMESupport文件夹,避免冲突 - 重启 Sublime,无需额外配置
搜狗输入法必须关闭“高级文字服务”并启用兼容模式
搜狗新版默认开启“高级文字服务”,会绕过 Windows IMM32 接口,直接 hook 文本框——这和 Sublime 的轻量输入流机制严重不兼容,典型表现为:切中文后失焦、按空格乱码、候选框卡死、甚至无法触发输入。
正确设置路径:
- 右键搜狗状态栏图标 → “设置属性” → 切换到“高级”标签页
- 取消勾选:
使用高级文字服务(推荐)、允许在非标准编辑框中输入 - 勾选:
兼容模式(适用于老旧程序) - 临时验证可用性:切换到微软拼音,再开启“使用以前版本的微软拼音输入法”,基本秒恢复
Linux/macOS 用户注意:环境变量(如 GTK_IM_MODULE)和输入法前端(fcitx5-frontend-gtk3)必须配齐且重新登录系统才生效;macOS 上若用第三方输入法框架(如 IMKQInput),需在系统偏好设置中确认其声明支持 Sublime 的文本域类型——这些细节一旦漏掉,就不是“输不出”,而是“根本没被识别为可输入窗口”。











