sublime text默认禁用vintage插件,需删除settings–user中"ignored_packages": ["vintage"]并完全重启;启用后默认插入模式,按esc或ctrl+[进入命令模式,仅支持:w、:q!等基础命令。

Sublime默认根本没开Vim模式,不是你配错了
Sublime Text 4(及最新版)默认把内置 Vintage 插件加进了 ignored_packages 列表,等于直接“断电”。Esc、h/j/k/l 没反应?不是快捷键记错,是插件压根没加载。
打开 Preferences → Settings – User,检查右侧 JSON 是否含这一行:
"ignored_packages": ["Vintage"]
如果有,删掉 "Vintage",改成空数组:
"ignored_packages": []
保存后必须完全退出 Sublime(关掉所有窗口),再重新启动——热重载不生效,这步跳过等于白改。
启用后默认是插入模式,不是命令模式
这是最常让人卡住的点:文件一打开就能打字,h/j/k/l 不动,: 按了没反应。这不是故障,是 Sublime 的设计:启用 Vintage 后,默认进入的是 Insert Mode,和 Vim 新手教程说的“开文件就进 Normal Mode”相反。
- 按
Esc或更可靠的Ctrl+[强制切到命令模式(Normal Mode) -
Esc失效常见原因:中文输入法(微软拼音/搜狗)劫持、自动补全弹窗挡住、远程桌面拦截 - 解决办法:在用户设置里加一行
"pressing_esc_disables_auto_complete_window": true,并确保用英文输入法 - 验证是否成功:按
Esc后再按h,光标左移即表示已进命令模式
:w 和 :q! 能用,但别信 :wq 或 :set number
Vintage 没有真正的 Ex 命令解析器,只硬编码支持极少数指令:
-
:w→ 等效于Ctrl+S,能保存 -
:q!→ 强制关闭当前标签页(不退出整个 Sublime),丢弃未保存更改 -
:wq、:q、:e filename、:set number全都不认,会报Unknown command - 行号要手动开:
View → Line Numbers,:set number无效 -
/keyword搜索和n/N跳转可用,这部分逻辑完整
想真用 Vim,得换 Vintageous,不是调配置
Vintage 不支持 ciw、可视模式(v/Ctrl+v)、寄存器("ayy)、宏(q)、. 重复、系统剪贴板同步("*p)——这些不是配置开关能打开的,是压根没实现。
如果你需要这些能力:
- 卸载或禁用
Vintage(Vintageous 安装后会自动把它加回ignored_packages) - 通过 Package Control 安装
Vintageous - 在
Preferences → Package Settings → Vintageous → Settings中配置,例如:"vintageous_use_sys_clipboard": true、"vintageous_start_in_command_mode": true -
dd、yy、ciw、gq、:s/old/new/g这些才真正可用
原生 vi_mode(ST4 内建)和 Vintageous 互斥,三者不能共存;状态栏右下角出现 NORMAL/INSERT 才算真正启用了 Vim 模式——没这个标识,说明底层模式根本没加载。











