Sublime Text 原生 Vintage 插件不支持 Vim 标记功能,需改用 Vintageous 插件;安装前须禁用 Vintage,配置 vintageous_start_in_command_mode 须写在 Vintageous 专属设置中,且需重启生效。

Sublime 的 Vim 模式本身不支持 Vim 风格的标记(mark)功能
Sublime Text 内置的 Vintage 插件只模拟了 Vim 的基础按键绑定(如 hjkl、dd、yy),但完全没实现 Vim 的标记系统——也就是 m{a-z} 设标记、`{a-z} 或 '{a-z} 跳转这类机制。这不是你配置错了,而是原生 Vintage 根本没这代码。
- 尝试输入
ma或`a:毫无反应,光标不动,也不报错 - 按
:marks或:jumps:直接提示 “unknown command” - 即使你在用户设置里加了
"vintage_start_in_command_mode": true,也改变不了这个事实
想用真正的 Vim 标记?必须换 Vintageous(或 NeoVintageous)
Vintageous 是目前 Sublime 上唯一稳定支持完整 Vim 标记语义的插件,它实现了小写标记(ma→`a)、大写标记(mB→`B,跨文件)、跳转历史(''、``)、以及 :marks 命令列表。它不是 Vintage 的增强版,而是重写的替代品。
- 安装前必须先禁用原生 Vintage:在
Settings – User中确保"ignored_packages"包含"Vintage",例如:"ignored_packages": ["Vintage"] - 通过
Ctrl+Shift+P→Package Control: Install Package→ 搜索并安装Vintageous - 安装后无需额外配置即可使用标记;如需默认进命令模式,再加一行:
"vintageous_start_in_command_mode": true - 注意:Vintageous 与 Sublime 原生多光标操作有冲突,标记跳转时建议先
Esc退出多选态
临时替代方案:用 Sublime 原生书签(bookmark)凑合标记位置
如果你暂时不想装插件,Sublime 自带的书签功能可实现“位置标记+快速跳转”,虽无 Vim 语义,但实用性强,且支持跨文件:
- 设书签:
Ctrl+F2(Windows/Linux)或Cmd+F2(macOS) - 跳到下一个书签:
F2 - 跳到上一个书签:
Shift+F2 - 清除当前行书签:
Ctrl+Shift+F2 - 查看所有书签列表:
Ctrl+Shift+P→ 输入Bookmarks: List
缺点是不能像 mz 那样命名、不能用单字母快速唤起,但胜在稳定、无兼容风险、不依赖插件生态。
容易被忽略的关键细节
很多人折腾半天发现标记还是不工作,问题往往不在插件本身,而在两个隐蔽点:
- Vintageous 安装后未重启 Sublime Text —— 它不会热加载,必须完全退出再打开
- 误把
Settings – User和Package Settings → Vintageous → Settings – User搞混:全局vintageous_start_in_command_mode必须写在后者里才生效,写在前者会被忽略 - 按
`a没反应?先确认是否真的设过ma—— Sublime 不会提示“标记未定义”,只会静默失败
真正用起来,标记功能最常出问题的地方,其实是忘了自己在哪设的 mark,又懒得开 :marks 看——这倒和原生 Vim 一模一样。

















