Marlin墨鳞

文件夹

手里的文档不止一篇时,把整个文件夹打开:左边是文件树,点哪篇看哪篇,还能在整个文件夹里搜索、改名、移动,Marlin 会帮你把链接一起改好。

一个窗口打开一个文件夹。Marlin 不会往文件夹里写任何配置文件。

打开文件夹

办法 说明
Ctrl+Shift+O 选一个文件夹;也在 ☰ →「打开文件夹…」
起始页 「打开文件夹」按钮;「最近打开」里切到「文件夹」页,点一下就回到上次的文件夹
拖进窗口 把文件夹从资源管理器拖进 Marlin
资源管理器右键 安装版在文件夹上(或文件夹里的空白处)右键 →「用 Marlin 打开」,见 安装与更新
克隆仓库 把一个 Git 仓库下载到本地并打开,见 Git 同步

打开到哪个窗口:

  • 当前窗口还没有文件夹:就在这个窗口打开,已经开着的标签留着
  • 当前窗口已经有文件夹:开一个新窗口
  • 这个文件夹已经在某个窗口里开着:切到那个窗口

打开了文件夹以后,在资源管理器里双击这个文件夹里的 .md,也会在这个窗口里开标签。

不想看这个文件夹了:点文件树右上角的「⋯」→「关闭文件夹」。

注意 Marlin 启动时不会自动打开上次的文件夹,这样双击一篇文档时总是秒开。上次的文件夹在起始页「最近打开」的第一条,点一下就回去了。

文件树

文件树和右键菜单

  • 单击文件:在临时标签里打开(标签上的文件名是斜体)。再单击别的文件,替换掉这个临时标签,逛一圈目录不会开出一排标签
  • 双击文件,或者开始编辑:变成普通标签,留着
  • 单击文件夹:展开或收起
  • 切换标签时,树会自动展开到当前文件并高亮它
  • 别的程序在文件夹里新建、删除、改了文件,1 秒内树上就能看到

用键盘:↑ ↓ 移动,→ 展开、← 收起,Enter 打开,F2 改名,Delete 删除。

树上显示哪些文件

  • 文件夹在前,文件在后,按名称排;名字里的数字按大小排,第2章 在 第10章 前面
  • Marlin 打不开的类型(Word、Excel 等)颜色淡一些,双击用系统里对应的程序打开
  • 按 .gitignore 的规则过滤,隐藏文件夹(比如 .git)也不显示。想看被忽略的文件:「⋯」→「显示被忽略的文件」
  • 只想看 Markdown:「⋯」→「只看 Markdown」

能打开哪些文件

文件 在 Marlin 里
.md、.markdown、.txt 文档:阅读和编辑
.mmd、.mermaid 整个文件是一张图,见 图表
图片(png、jpg、gif、webp、svg 等) 在标签里看,滚轮缩放、拖动
PDF 在标签里看
代码、配置、日志(json、yaml、py、js 等) 带语法高亮的编辑器,见 写作进阶
其他 交给系统里对应的程序。程序和脚本(exe、bat 等)不会运行,只在资源管理器里显示出来

从文件树里把一张图片拖进正在编辑的文档,就插入了这张图的相对路径。

新建、改名、移动、删除

右键文件或文件夹(在空白处右键就是对整个文件夹):

菜单项 说明
打开 和双击一样
新建文件、新建文件夹 在右键的那个文件夹里(右键的是文件时,在它旁边)新建。先给出名字「未命名.md」,改好按 Enter,Esc 取消;新文件直接打开
重命名(F2) 名字原地变成输入框,扩展名不选中,直接打新名字
删除(Delete) 先问一句,文件夹会说里面有几个文件;删掉的东西进回收站,可以找回。勾「不再询问」以后就直接删
放弃改动 文件夹在 Git 里、文件有改动时才有,见 Git 同步
复制路径、复制相对路径 相对路径从打开的文件夹算起,用 / 分隔,可以直接贴进链接
在资源管理器中显示

移动:把文件或文件夹拖到另一个文件夹上松手。拖到树的空白处,就是移到最外层。

改名或移动后,链接一起改

改了名字或挪了位置,别的文档里指向它的链接就断了。Marlin 会找出这些链接,问你要不要一起改:

改名后同步改链接

点「查看是哪几处」能看到每一处在哪个文件第几行、改成什么。点「一起改」,开着的、没开的文档都会改好;「不改」就保持原样。

被移动的文档自己里面的相对链接(比如指向图片的 ../.marlin/assets/a.png)也会算进来一起改。改名、移动后,这篇文档的 文档历史、批注 和 摘要 也跟着走;删除文档时,它的批注和摘要一起进回收站。

项目的 .marlin 文件夹

粘贴的图片、批注、AI 摘要 都跟着文档走,放在项目最外层的一个 .marlin 文件夹里,一个项目只有一个:

项目\
├─ .marlin\
│  ├─ assets\        粘贴、拖进来的图片
│  ├─ notes\         批注,按文档的位置存:docs\设计.md 的批注是 notes\docs\设计.md.json
│  └─ summaries\     AI 摘要,同上
├─ README.md
└─ docs\
   └─ 设计.md

哪一层算项目:从文档所在的文件夹往上找,

  1. 已经有 .marlin 的那一层
  2. 没有的话,Git 仓库的最外层(有 .git 的那一层)
  3. 都没有,就是文档所在的文件夹

不会往上找到用户文件夹(C:\Users\你的名字)或盘符根目录。不管是打开整个文件夹、单独打开一个文件还是从最近打开里打开,同一篇文档找到的都是同一个 .marlin。第一次粘贴图片、加批注或生成摘要时才建,在那之前项目里不会多出东西。文件树、搜索、快速打开都不显示它。

分享给同事:.marlin 跟着 Git 提交,同事拉下来就能看到图片、批注和摘要。不想分享批注和摘要,在 .gitignore 里写:

.marlin/notes/
.marlin/summaries/

警告 不要把整个 .marlin/ 写进 .gitignore:图片也在里面,忽略掉的话图片提交不上去,同事那边的文档会缺图。

注意 在 Marlin 外面把项目的某个子文件夹单独拷到别处,拷过去的文档里图片会断,批注和摘要也留在原来的项目里。整个项目一起拷、或者在 Marlin 的文件树里移动,都没有这个问题。

快速打开

记得文件名的一部分,就不用在树里一层层找。按 Ctrl+Shift+P,打几个字:

快速打开

  • 文件名里的字按顺序出现就算找到,不用连着打:rdme 能找到 README.md
  • ↑ ↓ 选,Enter 打开,Ctrl+Enter 在新窗口打开,Esc 关掉
  • 什么都不打时,列出最近打开过的文件
  • 没打开文件夹时,在最近打开过的文件里找

在文件夹中搜索

找的是文件里的文字,不是文件名。按 Ctrl+Shift+F,或者点侧栏的「搜索」:

在文件夹中搜索

  1. 搜索框,边打边搜。右边三个开关:区分大小写(Aa)、全词匹配(ab)、正则表达式(.*)
  2. 结果按文件分组,右边是这个文件里找到几处;点文件名收起或展开
  3. 点一行结果,打开那个文件并跳到这一行

搜索的范围是文档、文本和代码文件,按文件树的规则跳过被忽略的文件;超过 5 MB 的文件不搜。结果超过 2000 处时只显示前 2000 处,把关键词写具体一些就好。

在一篇文档里找,用 Ctrl+F,见 阅读。