Sublime Text 的 Vintage 插件默认禁用,需清除 ignored_packages 中的 "Vintage" 并完全重启才能启用;仅支持 hjkl、dd、yy、/、:w、:q! 等基础操作,不支持 :q、.repeat、ciw、寄存器、:set 或命令行解析。

Vintage 插件在 Sublime Text 中不是“开个开关就能 Vim”,它默认被禁用,且只提供极简按键映射——能用 h/j/k/l、dd、yy、/ 和 :w,但不支持 :q、.repeat、ciw、寄存器、:set 或任何命令行解析。别指望靠它写 Python 时按 vi{ 选中函数体。
确认 Vintage 插件是否真在运行
很多人改了设置却没反应,问题不在 JSON 语法,而在插件根本没加载。关键就看 ignored_packages 是否还锁着 "Vintage":
- 打开 Preferences → Settings,只看右侧 Settings – User
- 搜索
"ignored_packages",如果值是["Vintage"]或["Vintage", "SomeOtherPlugin"],说明插件被强制停用 - 必须改成
"ignored_packages": []或至少确保"Vintage"不在数组里 - 保存后必须彻底退出 Sublime Text(关闭所有窗口 + 杀掉进程),再重开——热重载不触发插件加载
- 验证方式:打开任意文件,按
Esc,再按h;光标左移,说明已进命令模式;若仍输入字符,就是没启用成功
Esc 按下无反应?先绕过系统级劫持
Esc 在 Sublime 的 Vintage 中本就极易被拦截,这不是插件故障,而是常见干扰源太多:
-
Ctrl+[和Esc在Vintage中功能完全等价,且极少被输入法、RDP、IDEA 拦截,优先试这个 - Windows 中文输入法(微软拼音、搜狗)常劫持
Esc;切到英文键盘布局再试 - 自动补全弹窗(如函数参数提示)会抢走
Esc用于关闭自己;在用户设置里加"pressing_esc_disables_auto_complete_window": true可修复 - 别误判状态:
Vintage启用后默认就是插入模式,hjkl本就不该响应——这是正常行为,不是配置失败
:w 能用但 :q 报错?这不是 bug,是硬编码限制
Vintage 根本没有 Ex 命令解析器,只硬编码支持两个命令:
-
:w可保存(等效于Ctrl+S) -
:q!可强制关闭当前标签页(丢弃未保存内容) -
:q、:e filename、:set number、:s/old/new/g全都不支持,输入后只会报Unknown command或静默失败 - 行号要手动开启:View → Line Numbers,不是
:set number -
/keyword搜索和n/N跳转是少数完整实现的功能,可放心用
想用 ciw、.repeat、系统剪贴板?别调,该换
原生 Vintage 不支持文本对象(ciw、vat)、可视块选择(Ctrl+v)、寄存器操作("ayy)、.repeat 或 :map。强行折腾配置项只会白费时间:
- 装
Vintageous:用Ctrl+Shift+P→ Package Control: Install Package 搜索安装,它会自动把"Vintage"加回ignored_packages(两者互斥) - 关键配置必须写在 Preferences → Package Settings → Vintageous → Settings – User 里:
"vintageous_start_in_command_mode": true、"vintageous_use_sys_clipboard": true - 拼错一个字母(比如写成
vintage_start_in_command_mode)就失效;Vintageous已停止维护,Sublime Text 4 上部分功能(如多光标与命令模式共存)可能异常 - 更稳妥的路径:换 VS Code + Vim 扩展,或直接用 Neovim——轻量、稳定、真正支持
ci"、va{、gq
vi_mode、内置 Vintage、还是 Vintageous),直接决定后续所有键位、映射、插件是否生效。起点选错,后面全白调。

















