Sublime Text 不支持一键提取书签行,因书签仅为内存级临时跳转标记,不保存内容、不跨会话、无导出功能;需用正则匹配(如^.\b(TODO|FIXME)\b.$)+ Find All + Ctrl+L 选行复制替代。

Sublime Text 没有“一键提取所有书签行”的快捷键或原生命令。书签(Bookmark)是内存级临时标记,不导出、不序列化、不跨会话保存——它只服务于当前文件内的快速跳转,不是数据提取工具。
为什么不能用快捷键直接提取书签行
书签本身不携带内容快照,Sublime 不在后台维护“书签行文本集合”。Bookmarks: Show 面板只做实时渲染(截取每行前约 30 字),且输出不可复制;命令面板里也没有 Bookmarks: Export 或类似功能。任何“提取”都得靠人眼识别 + 手动操作,或绕道正则匹配模拟。
替代方案:用正则批量选中书签行内容
如果你已在某文件中打了多个书签,且这些行有共同文本特征(比如都含 TODO、console.log、def ),可用正则反向还原:
- 按
Ctrl + F(Windows/Linux)或Cmd + F(macOS),启用.*正则模式 - 输入能覆盖你所有书签行的表达式,例如:
^.*\b(TODO|FIXME|console\.log)\b.*$ - 点
Find All,再立刻按Ctrl + L(或Cmd + L)选中全部整行 -
Ctrl + C复制 →Ctrl + N新建文件 → 粘贴
注意:\b 防止匹配到 TODO_LIST 这类子串;\. 转义点号,避免误匹配任意字符。
Bookmarks: Show 面板能帮你确认但不能导出
按 Ctrl + Shift + P(macOS 是 Cmd + Shift + P),输入 Bookmarks: Show 回车,会弹出侧边列表:
- 显示每条书签的行号 + 行首约 30 字(所以别把书签打在空行或长注释末尾)
- 支持输入关键词过滤(如输
def只留函数定义行) - 双击可跳转,但无法全选、右键复制、导出为文本
- 关掉面板后,列表消失;重启 Sublime,书签全丢
这个面板只解决“我在哪打了哪些书签”,不解决“我要拿这些行去干啥”。
真正需要持久化提取特定行时,别依赖书签——直接用 ^.*pattern.*$ 正则 + Find in Files 或脚本预处理。书签只是临时导航锚点,不是数据管道接口。


















