Sublime Text 默认禁用原生 Vintage 插件,需清空 ignored_packages 中的 "Vintage" 并彻底重启才能启用;启用后默认插入模式,Esc 或 Ctrl+[ 进命令模式,仅支持 :w 和 :q! 两个 Ex 命令。

Sublime Text 默认不启用 Vim 操作模式,不是插件没装,而是自带的 Vintage 插件被默认禁用;只要 ignored_packages 里还留着 "Vintage",按 Esc、h/j/k/l 就完全没反应——这不是配置错了,是插件根本没加载。
怎么确认并启用原生 Vintage 插件
关键动作只有两步:清空禁用列表 + 彻底重启。别在设置里瞎加命令行参数,vintage_ex_commands 这种字段压根不存在于原生代码中。
- 打开 Preferences → Settings – User,检查右侧 JSON 中是否有
"ignored_packages": ["Vintage"]或类似写法 - 把它改成
"ignored_packages": [](空数组),或确保"Vintage"不在该数组里 - 保存后必须完全退出 Sublime Text(关闭所有窗口不算),再重新启动——热重载不生效
- 验证方式:打开任意文件,按
Esc,再按h;若光标左移,说明已进命令模式;若仍可打字且h输入字符,则未启用成功
为什么按 Esc 没反应、hjkl 不动
不是插件坏了,是状态或干扰导致的误判。原生 Vintage 启用后,默认就是插入模式(Insert Mode),这和 Vim 启动行为相反,但它是设计如此。
- 先试
Ctrl+[—— 它和Esc在 Vintage 中功能完全等价,且极少被系统拦截 - 关掉中文输入法(尤其是 Windows 微软拼音、搜狗),切到英文状态再试
- 如果用了远程桌面(如 RDP),
Esc常被宿主机吞掉,Ctrl+[是唯一稳定解法 - 自动补全弹窗可能劫持
Esc,在用户设置中加"pressing_esc_disables_auto_complete_window": true可修复
:w 能用,但 :q/:set number 报错?这是正常现象
原生 Vintage 不是 Vim 替代品,它只实现按键映射层,没有 Ex 命令解析器。所谓支持 :w,只是硬编码了两个例外而已。
-
:w和:q!是仅有的两个能跑通的 Ex 命令;:q、:e filename、:set number全部静默失败或报错 - 显示行号不能用
:set number,得走原生路径:View → Line Numbers -
/keyword搜索、n/N跳转是少数完整支持的功能,可用 - 别在用户设置里配
vintage_start_in_command_mode——这是 Vintageous 的字段,写进去也无效
什么时候该换 Vintageous,而不是硬扛原生 Vintage
如果你依赖 .(重复上一次修改)、ciw、"ayy(寄存器复制)、:marks、跨文件大写标记 mB → `B,或者希望 y/p 直接走系统剪贴板,原生 Vintage 就不够用了。
- 安装前先在
Settings – User中把"Vintage"加回ignored_packages,避免冲突 -
Ctrl+Shift+P→Package Control: Install Package→ 搜Vintageous安装 - 安装完必须重启;配置项要写在 Preferences → Package Settings → Vintageous → Settings – User 里,不是全局设置
- 常用配置示例:
"vintageous_use_sys_clipboard": true(同步系统剪贴板),"vintageous_start_in_command_mode": true(开文件即进命令模式)
真正容易被忽略的点是:Vintageous 的配置路径和字段名必须严格匹配,拼错一个字母(比如写成 vintage_start_in_command_mode)就失效;而且它不会热加载,改完配置不重启,等于白干。











