f12是sublime中唯一稳定添加/取消书签的快捷键,按一次整行加书签(行号旁显蓝色点),再按一次即清除;书签仅存于内存、不跨会话、不写入文件,且只认行号不感知语义。

F12 是唯一能稳定打上/删掉书签的快捷键,其他组合在多数设备上会失效或被系统劫持。
怎么用 F12 正确添加和取消书签
Sublime 的书签本质是内存里的行号标记,不写入文件、不跨会话、关掉就丢。F12 是所有官方版本(ST3/ST4)中默认绑定、无系统冲突、反馈最明确的开关:
- 光标停在任意位置(哪怕在行中第 50 个字符),按
F12就整行加书签,行号旁立刻出现蓝色小点 - 再按一次
F12,该行书签立即清除,小点消失 - 别用
Ctrl+F2或右键菜单里的Toggle Bookmark:Windows 笔记本常需Ctrl+Fn+F2才触发(实际调音量),macOS 上Cmd+F2默认调亮度,滚动后右键还容易点错行 - 空行、全注释行、缩进极深的行也能打,但 Bookmarks: Show 面板只截取行首约 30 字——若打在
# FIXME: race condition here这种末尾注释行,面板里预览为空,无法通过关键词过滤识别
为什么 Ctrl+F2 跳转总“跳丢”或绕圈
Ctrl+F2(Windows/Linux)或 Cmd+F2(macOS)执行的是 next_bookmark 命令,它不做排序、不记历史、不跨文件,只做一件事:从当前光标位置开始,往后扫描第一个带书签的行。
- 光标在第 200 行(本身是书签),按
Ctrl+F2→ 从第 201 行开始搜,不会重复跳自己 - 书签在第 32、187、602 行,光标在第 100 行 → 第一次跳到 187,第二次跳到 602,第三次自动绕回 32(环形遍历)
- 被折叠的代码块(如
if DEBUG:块)不影响跳转——折叠只是视觉隐藏,行号仍在,照样命中 - 切到另一个 tab 后,原文件所有书签“隐身”,
Ctrl+F2只在新文件里扫描;当前文件没书签时,快捷键静默失败(不报错、不提示、光标不动)
Bookmarks: Show 面板才是高效管理核心
靠眼睛扫行号旁的小点效率低、易漏、难定位上下文。真正提效的是命令面板入口:Ctrl+Shift+P(Windows/Linux)或 Cmd+Shift+P(macOS)→ 输入 Bookmarks: Show → 回车。
- 面板列出每条书签的行号 + 行首约 30 字代码片段(如
def parse_config():或// TODO: handle timeout) - 支持实时关键词过滤:输入
def,列表只剩函数定义行;输ERROR就聚焦错误处理逻辑 - 双击任意条目,光标秒跳转;但面板只读,不能重命名、不能拖拽排序、不显示完整行内容
- 清空当前文件所有书签请用命令面板输入
Clear Bookmarks(不可逆,且不影响其他 tab 中的书签)
书签不能直接实现多光标编辑,得配合其他操作
Sublime 的书签只负责“找位置”,不生成光标。想在多个书签行同时编辑,必须手动或借助其他机制加光标:
- 先打书签(
F12),再用Bookmarks: Show面板双击跳转到第一处,按住Ctrl(Windows/Linux)或Cmd(macOS)在该行空白处单击一次(确保"drag_text": false已设置),然后重复跳转 +Ctrl+Click逐个添加 - 若目标行有稳定文本特征(如都含
TODO或assert),直接用Ctrl+F开正则模式,输入^.*\b(TODO|assert)\b→ 勾选Aa和.→ 点Find All,所有匹配行首立即出现光标 - 别指望在
Bookmarks: Show面板里多选或批量跳转——Sublime 不支持该交互;也别尝试用Ctrl+F2循环跳转时按住Ctrl自动加光标,它不会响应
书签功能轻量、临时、纯内存,它的价值不在“保存”,而在“此刻快速回溯”。最容易被忽略的一点是:它完全不感知语义,只认行号——哪怕你删了上面 10 行,书签仍固执地钉在原来的数字行上,可能已错位到无关代码里。











