NeoVintageous 能真正替代 Vim,但需禁用 Vintage 插件并启用 command 模式与 ex_mode:在用户设置中添加 "ignored_packages": ["Vintage"]、"vintage_start_in_command_mode": true、"pressing_esc_disables_auto_complete_window": true 和 "ex_mode": true,且每次修改后必须重启 Sublime Text。

NeoVintageous 能真正替代 Vim,但默认配置下几乎等于没装——必须改掉两个关键设置,否则 Esc 没反应、新文件仍卡在插入模式、自动补全窗口拦路,Vim 流程直接断掉。
为什么按 Esc 没反应或进不了 Normal Mode?
根本原因不是插件没生效,而是 Sublime 自带的 Vintage 插件和 NeoVintageous 同时加载,互相劫持输入逻辑。哪怕你只装了 NeoVintageous,只要 "ignored_packages" 里没明确禁用 Vintage,它就会偷偷运行。
- 打开
Preferences → Settings,检查右侧用户设置中是否有"ignored_packages": ["Vintage"]或类似项 - 改成
"ignored_packages": ["Vintage"](确保Vintage在列表里) - 保存后必须重启 Sublime Text —— 不重启,
Esc永远不会归 NeoVintageous 管
如何让文件一打开就进 Normal Mode?
NeoVintageous 默认是“兼容模式”:新文件打开即进入 Insert Mode,和 Vim 用户直觉相反。这不是 bug,是设计选择,但必须手动关掉。
- 打开
Preferences → Package Settings → NeoVintageous → Settings – User - 填入这两行(缺一不可):
{"vintage_start_in_command_mode": true, "pressing_esc_disables_auto_complete_window": true} - 前者让
Esc成为真正的模式切换开关;后者防止 Sublime 的补全弹窗吃掉你的Esc,避免出现“想删一行,按了三次 Esc 才关掉补全框”的情况
:w、:q 能用,但 :s/old/new/g 报错?
NeoVintageous 的命令行模式(:)默认只支持基础 Ex 命令。高级替换、全局执行、外部命令等需要启用 ex_mode 支持。
- 在
NeoVintageous → Settings – User中追加:"ex_mode": true
- 重启后,
:s/old/new/g、:g/pattern/d、:terminal等才可用 - 注意:
ex_mode开启后,部分原生 Sublime 命令(如:set)可能被覆盖,优先使用 NeoVintageous 提供的等效配置项(例如用"vintageous_use_sys_clipboard": true替代:set clipboard=unnamed)
最容易被忽略的是:所有配置修改都依赖重启生效,且 Vintage 和 NeoVintageous 绝对不能共存。哪怕只差一个引号没闭合,整个 Vim 模式都会退化成半残废状态——不是功能没写,是底层事件链从第一行就断了。

















