Sublime书签仅标记整行且不持久化,本质是内存中行号记录;F12最稳因极少被系统劫持,支持单点开关与明确视觉反馈,跳转为当前文件内线性循环,命令面板查看更可靠。

Sublime 的书签只能标记整行,不能标记“代码段”或选中区域;它本质是行号记录,不是语法感知型锚点。
为什么 F12 是最稳的添加/取消书签方式
多数人卡在 Ctrl+F2 没反应,其实是笔记本功能键(Fn)或系统快捷键(如 macOS 调节亮度)劫持了 F 键。F12 在绝大多数 Sublime 版本(ST3/ST4)和硬件上默认绑定且极少被拦截。
- F12 是单点开关:光标在哪一行,按一次就加书签,再按一次就删,不依赖当前是否已存在书签
- 视觉反馈明确:行号左侧出现蓝色小点(颜色可改),空行、注释行、折叠块内行都支持
- 别用右键菜单里的
Toggle Bookmark—— 滚动后容易点错行,尤其在大文件里 - 别指望它记住列位置:
SublimeBookmarks插件也只存行号 + 文件路径,跳转时总回到行首
书签跳转只在当前文件内线性循环
书签不是列表,也不是树形结构,它只是从当前光标位置开始往后扫描下一个带书签的行号,扫到末尾自动绕回开头。
- 跳下一个书签:
Ctrl+F2(Windows/Linux)或Cmd+F2(macOS) - 跳上一个书签:
Ctrl+Shift+F2或Cmd+Shift+F2 - 如果当前文件没任何书签,这些快捷键会静默失败——不报错、不提示、不移动光标
- 折叠代码不影响跳转:哪怕书签在
if块里被折叠了,Ctrl+F2仍能跳过去 - 切到另一个 tab 后,原文件的书签完全“隐身”,
F2系列键只在新文件里找
用命令面板查看和过滤书签比菜单更可靠
菜单栏 Selection → Bookmarks → Show Bookmarks 在多语言界面或旧版 Sublime 中常因翻译错位失效。命令面板路径稳定、可搜索、支持实时过滤。
- 打开命令面板:
Ctrl+Shift+P(Windows/Linux)或Cmd+Shift+P(macOS) - 输入
Bookmarks: Show回车,弹出侧边列表,显示每条书签的行号 + 行前约 30 字 - 直接在列表里输入关键词(如
def、TODO、timeout)可实时过滤,双击即跳转 - 别把书签打在空行或长注释末尾——预览截取开头,那样列表里显示为空白,无法识别
- 清空全部书签请用
Clear Bookmarks命令,不是反复按Ctrl+F2(它对非书签行无效)
书签不会保存,关文件就丢,这不是 Bug 是设计
Sublime 原生书签是纯内存结构,不写入文件、不生成配置、不随项目会话持久化。重启编辑器、关闭标签页、甚至切换工作区都会清空。
- 这意味着你不能靠它做长期项目索引,也不能恢复上次调试时的断点位置
- 想跨会话保留关键位置?得靠
// TODO或// FIXME注释 + Sublime 的Ctrl+Shift+F全局查找 - 需要真正跨文件、带名称、可导出的书签?必须装插件,比如
SublimeBookmarks,但它仍需手动启用项目配置,且不同项目间不自动同步 - 书签 ≠ 折叠 ≠ Goto Symbol:
Ctrl+R找函数、Ctrl+P模糊搜文件名,才是语义级导航;书签只是帮你省掉拖滚动条的力气
真正容易被忽略的是:书签跳转逻辑不感知上下文,它不管你是刚改完第 5 行还是正在看第 800 行,只要光标一动,Ctrl+F2 就从那里开始往后扫——所以别在滚动后立刻连按,先确认光标位置。










