必须设"enable_ime": true,否则Sublime Text 4 build 4126+不向Windows IMM32接口上报光标坐标、焦点状态和编码模式,导致候选框不弹出或乱飞;需在用户设置中添加该配置、末尾加英文逗号,并彻底退出所有subl.exe进程后重启。

Sublime Text 默认不处理中文输入,不是你配错了,而是它压根没启用 IME 接口——enable_ime 必须设为 true,否则光标坐标、焦点状态、编码模式全不报给系统,候选框根本不会弹。
Windows 下必须开启 enable_ime 才能触发输入法
ST4 build 4126+ 才真正支持 Windows IMM32,但默认关闭该功能。不开 enable_ime,编辑器连“我有光标”这件事都不告诉系统。
- 打开
Preferences → Settings,在右侧用户设置 JSON 中添加:"enable_ime": true - 注意:若该行后面还有其他配置项,末尾必须加英文逗号
- 保存后必须彻底退出:右键托盘图标选 Exit,或用任务管理器杀掉所有
subl.exe进程——仅关闭窗口或 Reload Settings 完全无效
高分屏下候选框乱飞?关 GPU 渲染 + 改 DPI 缩放模式
GPU 加速 + 系统级 DPI 缩放(如 125%)会导致 Sublime 报告的像素坐标被放大,而输入法仍按原始分辨率定位,结果候选框偏移几十像素,甚至跳到副屏。
- 在用户设置中添加:
"hardware_acceleration": "none"(注意是字符串"none",不是false) - 右键 Sublime 快捷方式 → 属性 → 兼容性 → 更改高 DPI 设置 → 勾选“替代高 DPI 缩放行为”,下拉选
应用程序 - 删掉已废弃配置项,例如
"gpu_window_buffer": true,它在新版本中无作用,还可能干扰渲染
macOS 上中文输入失效?重点查 keyboard_layout 和输入源绑定
macOS 不依赖 enable_ime,但要求 Sublime 明确声明使用系统键盘布局,否则输入法服务无法注入上下文。
- 在
Preferences → Settings中搜索keyboard_layout,设为:"keyboard_layout": "系统"或"com.apple.keylayout.Chinese.Pinyin" - 确保系统已添加中文输入源:系统偏好设置 → 键盘 → 输入源 → + → 选择“简体中文-拼音”
- 在 Sublime 中执行
View → Input Method,确认输入法菜单已启用,并手动切换一次输入源 - 部分 macOS 版本需重启 Sublime 后再首次激活输入法,否则第一次打字会卡住
Linux(Ubuntu/Debian)需要编译 libsublime-imfix.so 补丁
Linux 桌面环境(GNOME/KDE)与 Sublime 的 GTK 绑定存在底层冲突,官方未提供二进制兼容层,必须手动注入 fcitx 或 ibus 支持。
- 安装依赖:
sudo apt-get install -y fcitx fcitx-im build-essential libgtk2.0-dev - 下载并编译补丁:
gcc -Os -shared -o libsublime-imfix.so sublime_imfix.c $(pkg-config --libs --cflags gtk+-2.0) -fPIC - 将生成的
libsublime-imfix.so移至 Sublime 安装目录(如/opt/sublime_text),并修改启动脚本 wrapper,预加载该 so 文件 - 不要依赖
InputHelper类插件——它们只做前端模拟,无法解决 GTK 输入上下文缺失问题
最常被忽略的一点:所有平台都要求输入法本身处于“已启用且当前激活”状态,Sublime 不会主动唤醒输入法;哪怕配置全对,如果系统输入法被切到英文或停用,它依然不会弹候选框。

















