Sublime如何使用Vim模式 Sublime开启Vintage模式教程【进阶】

10次阅读

sublime默认禁用Vintage插件,需手动移除ignored_packages中的”Vintage”并重启;启用后默认插入模式,按Esc进入命令模式;原生Vintage仅支持有限Ex命令,复杂vim功能需换用Vintageous。

Sublime如何使用Vim模式 Sublime开启Vintage模式教程【进阶】

Sublime默认不启用Vintage,必须手动解除禁用

很多人按了 Eschjkl 没反应,不是快捷键记错了,而是 Vintage 插件根本没加载——它被 Sublime 默认加入了 ignored_packages 列表。这个设置就像一道闸门,关着就什么 Vim 行为都不会触发。

  • 打开 Preferences → Settings,看右侧 User Settings 里有没有类似 "ignored_packages": ["Vintage"]"ignored_packages": ["Vintage", "SomeOtherPackage"]
  • 把它改成 "ignored_packages": [],或确保 "Vintage" 不在数组中
  • 保存后必须重启 sublime text,热重载不生效,这点极容易被忽略

开启后默认是插入模式,不是你熟悉的普通模式

这是新手最常卡住的点:一打开文件就能打字,hjkl 却不动——没错,这恰恰说明 Vintage 已启用,只是你正处在插入模式(Insert Mode),和 Vim 里一样,此时方向键本就不该移动光标。

  • EscCtrl+[ 强制进入命令模式(Normal Mode)
  • 如果按 Esc 没反应,大概率是自动补全弹窗挡住了,加这一行到用户设置:"pressing_esc_disables_auto_complete_window": true
  • 想开文件就进命令模式?原生 Vintage 不支持;但装了 Vintageous 后可配 "vintage_start_in_command_mode": true

:w 能用,:q 和 :set 都不行?别怪插件,是设计如此

原生 Vintage 只模拟了 Vim 的按键层(key bindings),没实现真正的 Ex 命令解析器。它硬编码支持的命令极少,:w:q! 是仅有的几个“能跑通”的,其余如 :q:e filename:set number 全部静默失败或报错。

  • :w 会真实保存文件,:q! 会丢弃更改并关闭当前标签页(但不会退出整个 Sublime)
  • /keyword 搜索可用,n/N 跳转也正常,这是少数可靠功能
  • 需要 :s/old/new/g、宏录制、ciw、系统剪贴板同步?必须换 Vintageous,它才是面向 Vim 用户的实用方案

想真正像 Vim 那样工作,Vintageous 不是可选,是刚需

如果你依赖 . 重复、可视块选择(Ctrl+v)、寄存器操作("ayy)、自定义 :command 别名,或者希望 yd 直接写入系统剪贴板,原生 Vintage 完全无法满足。

  • Package Control: Install PackageVintageous,装完需先禁用原生 Vintage(把 "Vintage" 加回 ignored_packages
  • 关键配置推荐加到 Preferences → Package Settings → Vintageous → Settings – User"vintageous_use_sys_clipboard": true"vintage_start_in_command_mode": true
  • Vintageous 支持 .vimrc 风格的 .vintageousrc 文件,放在 Packages/User/ 下即可用 mapset 等语法

最常被跳过的事实是:Vintage 和 Vintageous 不能共存,且 Vintageous 的配置项对原生 Vintage 完全无效——选哪个,得先做决定,而不是“先试试原生再说”。

text=ZqhQzanResources