Sublime Text 4 默认禁用 Vintage 插件,需手动移除 ignored_packages 中的 "Vintage" 并完全重启才能启用;Esc+h 进命令模式验证,:w/:q! 可用但其余 Ex 命令不支持,完整 Vim 功能需换用 Vintageous。

Sublime Text 4 默认禁用 Vintage 插件,不是你配错了,而是它根本没加载——只要 ignored_packages 里还留着 "Vintage",Esc、h/j/k/l 就完全没反应。
怎么确认 Vintage 插件是否真在运行
打开 Preferences → Settings,看右侧 Settings – User 里有没有这行:
"ignored_packages": ["Vintage"]
如果有,说明插件被硬编码禁用;改成空数组:"ignored_packages": [],或只删掉 "Vintage"(保留其他包名)。改完必须彻底退出 Sublime Text 再重开——热重载不生效,这是最常跳过的一步。
验证是否成功:打开任意文件,按 Esc,再按 h。光标左移,说明已进命令模式;如果还打字、h 输入字符,就是没启用成功。
为什么按 Esc 没反应,或 hjkl 不动
-
Esc被自动补全弹窗挡住:在用户设置里加"pressing_esc_disables_auto_complete_window": true - 输入法干扰(尤其 macOS 中文输入法):切回英文键盘布局再试
-
Esc被远程桌面或全局快捷键劫持:优先用Ctrl+[,它和Esc在 Vintage 中功能等价,且更可靠 - 刚打开文件时
hjkl不动是正常现象——Vintage 启用后默认是插入模式,hjkl本就不该响应;先按Esc或Ctrl+[进命令模式
:w 能用但 :q、:set number 报错?这不是 bug
Vintage 只硬编码支持极少数 Ex 命令::w 和 :q! 可用,其余如 :q、:e filename、:set number 全都不认。这不是配置问题,是设计限制——它只模拟按键层,没实现命令行解析器。
行号要手动开启:View → Line Numbers,不是 :set number;搜索用 /keyword + Enter,n/N 跳转是完整的。
:wq 会静默失败或报错,想保存并关闭请分两步::w → :q!。
想用 dd、ciw、. 重复这些操作?别硬撑原生 Vintage
原生 Vintage 支持 dd、yy、p、u、/,但不支持 ciw、gq、可视块选择(Ctrl+v)、寄存器("ayy)或任何 :set 类命令。
真正需要完整 Vim 特性(比如宏录制、. 重复、"0p、:s/old/new/g),唯一靠谱方案是换 Vintageous。它安装后会自动把 "Vintage" 加回 ignored_packages,两者互斥;配置项如 vintageous_start_in_command_mode 必须写在 Package Settings → Vintageous → Settings – User 里才生效。
复杂点在于:不同 Vim 模式路径(原生 vi_mode、内置 Vintage、Vintageous)行为差异极大,选错起点,后面所有键位、映射、插件都白调。状态栏右下角没出现 NORMAL/INSERT,说明连基础通路都没打通,别急着配 jj 映射或写 .vintageousrc。

















