f12是唯一稳定触发书签开关的快捷键,因其不被系统劫持、默认绑定且无冲突;书签仅存于内存、不跨会话,管理依赖bookmarks: show面板过滤跳转。

F12 是唯一能稳定打上/删掉书签的快捷键,其他组合(Ctrl+F2、Cmd+F2、右键菜单)在多数笔记本和 macOS 上会失效或误触发——不是功能坏了,是被系统劫持了。
为什么 F12 才是真正可用的书签开关
Sublime 的书签本质是内存里的行号数组,不写入文件、不跨会话、关掉 tab 就清空。设计目标就是“此刻我需要反复看这几行”。F12 在 ST3 和 ST4 所有官方版本中默认绑定、不依赖 Fn 键、不和亮度/音量快捷键冲突:光标停在哪一行,按一次,行号旁立刻出现蓝色小点;再按一次,小点消失,无副作用。
-
Ctrl+F2在 Windows 笔记本常需Ctrl+Fn+F2才触发,实际按出来可能是调音量 -
Cmd+F2在 macOS 默认调亮度,即使开了“标准功能键”,部分 ST4 安装包仍捕获不到 - 右键菜单里的
Toggle Bookmark滚动后极易点错行,尤其在 500+ 行文件里 - 别把书签打在空行、全注释行末尾或缩进极深的行——
Bookmarks: Show面板只截取行首约 30 字,预览为空就无法识别上下文
Ctrl+F2 跳转总跳丢?线性扫描逻辑必须搞清
Sublime 的跳转不是按添加顺序,也不是按行号排序,而是从当前光标位置开始往后找第一个带书签的行(next_bookmark),往前找则用 prev_bookmark。它不记忆、不跨文件、不跳过折叠块——但正因为太“朴素”,反而容易误判行为。
- 光标停在第 200 行(本身是书签),再按
Ctrl+F2→ 从第 201 行开始搜,不会重复跳自己 - 最后一行是书签,再按
Ctrl+F2→ 自动绕回第一个书签,形成环形遍历 - 被折叠的代码块(如
if DEBUG:块)不影响跳转,照样能准确跳入 - 切到另一个 tab 后,原文件所有书签“隐身”,
Ctrl+F2只在新文件里扫描 - 当前文件没书签时,这些快捷键静默失败——不报错、不提示、光标不动
别靠眼睛扫小点,Bookmarks: Show 面板才是管理核心
打三四个书签后,靠扫行号旁的蓝色小点效率极低,且容易漏。真正提效的是命令面板入口:Ctrl+Shift+P(Windows/Linux)或 Cmd+Shift+P(macOS)→ 输入 Bookmarks: Show → 回车。它列出每条书签的行号 + 行首约 30 字代码片段,支持实时关键词过滤,双击即跳转。
- 输入
def,列表自动只留含函数定义的书签行 - 输入
TODO就聚焦待办项,不用全局搜索 - 面板只读,不能重命名、不能拖动排序,但快、准、带上下文
- 清空全部书签请用
Clear Bookmarks命令(同样走命令面板),不是反复按Ctrl+F2 -
Clear Bookmarks仅清当前文件,不可逆,且不影响其他 tab 中的书签
书签关掉就丢,这不是 Bug 是设计——它不替代 Git 注释或 // TODO:,也不适合长期项目索引。长文件阅读时真正可靠的回溯方式,是 F12 标记 + Bookmarks: Show 过滤 + 手动保存关键位置到注释里。任何指望它跨重启、跨文件、带语义的尝试,都会卡在“为什么又没了”这个坑里。











