Sublime Text如何开启Vim模式_Sublime内置Vintage插件激活【进阶】

1次阅读

Vintage插件默认被sublime Text禁用,需在用户设置中移除ignored_packages里的”Vintage”并重启;启用后默认为插入模式,按Esc进入命令模式;仅支持:w和:q!等少量Ex命令;粘贴前需:set paste防缩进错乱;Vintage与Vintageous不可共存。

Sublime Text如何开启Vim模式_Sublime内置Vintage插件激活【进阶】

确认Vintage插件没被悄悄禁用

sublime text 默认把 Vintage 加进 ignored_packages,所以哪怕你记得按 Eschjkl,它也完全没反应——不是快捷键失效,是插件压根没加载。

  • 打开 Preferences → Settings,看右侧 User Settings 里有没有类似 "ignored_packages": ["Vintage"]"ignored_packages": ["Vintage", "SomeOtherPackage"]
  • 把它改成 "ignored_packages": [](空数组),或至少确保 "Vintage" 不在其中
  • 必须重启 Sublime Text:改完设置不重启,Vintage 仍不会生效

进入命令模式后 hjkl 还是不动?检查当前模式

启用 Vintage 后,Sublime 默认进入的是插入模式(Insert Mode),不是 vim 用户期待的命令模式(Normal Mode)。所以一打开文件就能打字,但 h/j/k/l 没反应,这完全正常。

  • EscCtrl+[ 强制切到命令模式,此时方向键才真正可用
  • 如果按 Esc 没反应,大概率是自动补全弹窗挡住了;在用户设置里加一行:"pressing_esc_disables_auto_complete_window": true
  • 想一开文件就进命令模式?原生 Vintage 不支持;只有装了 Vintageous 才能用 "vintageous_start_in_command_mode": true

:w 能用,:q 却报错?别被冒牌 Ex 命令骗了

原生 Vintage 只硬编码实现了极少数 Ex 命令::w:q! 能用,:q:e filename:set number 全都不支持——这不是 bug,是设计如此。它只模拟按键逻辑,没实现命令行解析器。

  • :w 保存成功 ✅,:q! 强制退出 ✅,其余基本都静默失败或报 Unknown command
  • 需要 ciw、可视模式、宏录制、系统剪贴板同步?必须换 VintageousNeoVintageous
  • 别在 Settings – User 里瞎加 :set nu,它不会生效,也不会报错,只会让你困惑

粘贴代码格式乱了?开启 paste 模式再操作

在命令模式下直接按 i 进入插入模式粘贴,Sublime 的自动缩进会把代码挤成一团。这不是 Vim 的问题,是编辑器对“粘贴”行为缺乏感知。

  • 先确保在命令模式(按 Esc),输入 :set paste 回车
  • 再按 i 进入插入模式,粘贴内容
  • 粘完按 Esc 回命令模式,输入 :set nopaste 恢复自动缩进
  • 注意::set paste 是 Vintage 支持的少数几个 Ex 命令之一,放心用

最常被忽略的一点:Vintage 和 Vintageous 不能共存。想用完整 Vim 功能,就得先在 ignored_packages 里加上 "Vintage",再装 Vintageous——否则两个插件会互相干扰,连 Esc 都可能失灵。

text=ZqhQzanResources