之前曾读到一位友人写的 私有部署知识库系统横评 文章,感觉十分的有帮助,认识到除难部署的 Outline 之外全都不符合自己需求,遂直接把自己的文字笔记全切到了 Notion(大雾)。但是 Notion 本身是一个知识库系统,并不能很好支持 Markdown 格式,也不够轻量化,对于写一份简单文档的需求,单纯的 Markdown 编辑器无疑是更好的选择。**如果你找 Markdown 编辑器是为了记笔记,那么我更建议你读读上面链接中的文章,知识库的方案会更加有优势。**PS:现在我的笔记已经全都在 思源 上面了。
但很显然我不只有记笔记的需求,所以挑选了几款 Markdown 编辑器做一个横评。Markdown 编辑器没有 one size fit all,每款编辑器有自己的哲学,有的追求多而全的功能,有的追求极致的性能,有的坚守 KISS 原则,有的开发了插件系统,还有的只是顺便做个 Markdown 编辑功能。为了挑选一款适合自己的编辑器,我还是建议读者通读上下篇。你现在看到的是上篇,包含了我对每一款编辑器的主观大概评价,但无法表现哪个方面谁做得更好;而下篇 注重量化对比,但对于一些特色功能,无法体现在表格中。
在这里特别感谢每一位开发者,特别是开源软件贡献者,没有他们,就没有编辑器百花齐放的今天。
测试环境
凡是有 Linux 版的,都会采用 Linux 版进行测试,使用 Wayland 显示协议。一般来说这种条件下适配是最不充分的,能暴露一些缺点。
Windows 或 macOS 独占的,当然只能用独占的了。由于不在同一台机器上测试,性能表现难免不同。但是即使硬件性能再强,有的编辑器也一塌糊涂。
Typora
Typora 是一款使用 Electron 开发的 Markdown 编辑器。可惜 Beta 结束后收费了,还有点贵,但它还是给我留下了非常好的印象。可以说是 Markdown 编辑器的标杆之作。
优点:
-
跨平台(Windows、Linux、macOS)
-
所见即所得(即所谓 WYSIWYG,默认打开效果实时预览)
-
界面简洁干净,使用体验舒适
-
支持使用 CSS 自定义模板,还有大量现成第三方模板
-
大量的自定义语法选项‘
-
强大的图片管理选项
缺点:
-
闭源
-
收费(国内价格 89 元)
Obsidian
据 Obsidian 官方的定义,它其实也算是个知识库软件,但也遵守 Markdown 语法,还有知识图谱功能。如果你既要记笔记还要写文档,可以选择 Obsidian。它也是使用 Electron 开发的。
优点:
-
跨平台(Windows、Linux、macOS、Android、iOS/iPadOS)
-
知识图谱功能,根据反向链接探寻知识点之间的关系
-
有很多插件,如看板、Git(需要 Git 客户端,自然不支持移动端)
-
可选的所见即所得模式
-
官方同步服务,$8 / 月
-
Windows 版自带优雅大方的苹方字体
缺点:
-
闭源
-
菜单有点乱
StackEdit
StackEdit 是一个开源的网页端编辑器,我觉得最大的亮点应该是自带网盘工作区同步,所以移动端也可以。可以使用 Docker 镜像自行搭建,或者使用作者搭建的公用版本。编辑模式预览不太完全,但有一个带完整格式渲染的预览模式。目前我主要在用这款。
优点:
-
网络同步(Google Drive、GitHub、Gitlab、Dropbox)
-
自带 Cheatsheet 和顶部快捷格式栏
-
多种模板支持,但只有导出时可以用
-
多个工作区可以分别管理同步策略或导出
-
非常多的导出格式策略可选
-
UML 图和音符支持
-
Service Worker 支持的离线编辑
缺点:
-
Docker 版不能保存到服务器目录
-
Docker 镜像太大了
-
公用版需要订阅制捐赠才能导出文件(考虑到开源,算半个缺点;Docker 版可以直接导出)
-
Google Drive 要频繁重新认证
Zettlr
Zettlr 又是一个使用 Electron 开发的编辑器。太丑了,没细用。不过这个 Hashtag 特性似乎挺有意思,不失为管理知识的另一种方案。
优点:
-
跨平台(Windows、Linux、macOS)
-
良好的外部文献管理支持(如 Zotero)
-
非常多的导出格式可选(依赖于 Pandoc)
缺点:
-
丑!!!!完全打消了我用的欲望
-
没有预览模式,不能做到完全的所见即所得
-
工作区加载慢
Dillinger
Dillinger 是一个开源的网页 Markdown 编辑器。看起来挺好的,但它有几个致命伤,拳拳到肉,所以我没用它,光是好看还是不能当饭吃啊。
优点:
-
界面美观
-
语法高亮和分栏实时预览
-
云同步(Dropbox、OneDrive、GitHub……)
缺点:
-
不支持 TeX 公式渲染
-
PDF 导出无法正确渲染中文
-
不支持内联 HTML 符号
MarkText
MarkText(域名都过期了)是一个使用 Electron 开发的开源编辑器,很多部分都与 Typora 相近。我在其开发早期就用过,但 bug 实在是太多了,于是马上就卸了。最近发现已经改善了不少,或许有希望成为 Typora 的开源平替。
优点:
-
跨平台(Windows、Linux、macOS)
-
Typora 一样的所见即所得
-
Typora 一样优雅的外观
-
多种主题,但暂时不支持第三方导入
-
多种图表支持(Mermaid、UML 等)
-
丰富的 PDF 导出格式选择
-
Typora 相似的强大图片管理
缺点:
-
HTML 语法和 Markdown 格式不能混写(带 HTML 的必须转化为内联 HTML 块)
-
还是有少量 bug,但不影响正常使用
-
据说有性能问题(见 V2EX)
Notable
Notable 正如名字所示,它设计上仍然是一款笔记管理软件。
优点:
-
界面简洁美观
-
内置 Emoji 面板和语法 Cheatsheet
-
使用 Tag 管理笔记
-
将笔记通过网页分享
缺点:
-
自 2020 年 1 月,长期未更新
-
不能单独打开 Markdown 文档,必须以笔记本形式组织
-
闭源(1.5.1 后)
VNote
VNote 是一款国人开发的开源笔记管理软件。管理笔记还算方便,但写普通文档的时候只比 Obsidian 方便一点。体验不算很优秀,但不用 Electron 很难得。
优点:
-
跨平台(Windows、Linux、macOS)
-
使用 Qt 开发,不是 Electron!!!
-
PDF 导出体验较好
缺点:
-
Linux 可能需要使用
--no-sandbox
选项才能显示预览(见 此链接) -
界面美观度一般
-
预览同步滚动卡顿
Arya
nicejade/markdown-online-editor
Arya 是一个轻量级的网页端 Markdown 编辑器。之所以说它轻量,是因为它连工作区的概念都没有,同时只能编辑一个文件。
值得一提的是,它是基于 Vditor 的,而 Vditor 与思源笔记有着千丝万缕的联系。
优点:
-
十分简洁
-
支持的输入丰富,TeX 和 Mermaid 图表等都有
-
桌面、Pad 和手机端视图预览
-
比 Typora 稍弱的所见即所得
-
可以上传图片和录音
-
开发者视图,DOM 分层
缺点:
-
同时只能编辑一个文件(不过有本地暂存)
-
滚动预览有点不太同步
-
不支持内联 HTML
LetsMarkdown
LetsMarkdown 是以协作为主要特点的在线 Markdown 编辑器。它有着类似 VS Code 的主界面,以及一些自动补全功能,主界面只有源代码区、预览区和分享链接。是的,除此之外,啥都没有。
优点:
-
VS Code 同款编辑模块,上手难度小,简洁大方
-
非常简单的协作体验
-
emoji 支持
缺点:
-
简洁得甚至有些简陋
-
就连同步滚动也没有(画了个饼,会加)
Haroopad
Haroopad 是 “the next document processor”,至于是什么货色,你看一眼上面的图就知道了。不过在我顺着 Issue Tracker 找到了它的 GitHub 后(是的,我差点当它闭源了),发现最后一个 Issue 在四年前,那就解释得通了…… 古早项目,权当怀念。
优点:
-
跨平台(Windows、Linux、macOS)
-
支持 CommonMark、GFM 等多种 Markdown 标准
缺点:
-
字体渲染一塌糊涂
-
软件长年不更新
-
滚动源代码可同步滚动预览,但反之不行
-
源代码侧没有语法高亮
QOwnNotes
QOwnNotes 是一款使用 Qt+C++ 写成的笔记管理软件(是的,又一个非 Electron)。
优点:
-
跨平台(Windows、Linux、macOS,居然还有 FreeBSD)
-
Qt 而非 Electron,高效低占用
-
强大的云端同步服务
缺点:
-
界面非常乱,连对比预览都找不到在哪
-
编辑 Markdown 文档必须先导入笔记目录
-
对 HTML 标签支持不佳
马克飞象
马克飞象 是为印象笔记定制的网页端 Markdown 编辑器,比较适合印象笔记用户。
优点:
-
界面简洁
-
流畅的预览和同步滚动
-
印象笔记深度集成
缺点:
-
不支持 Markdown 文档的导入,只能粘贴
-
不支持导出
-
HTML 标签有点 bug
WordMark
WordMark 是一款为写博客的人而设计的 Markdown 编辑器,不过作为普通的 Markdown 编辑器也可以。由于经典的依赖问题,它的 Linux 版本我死活装不上(不一定是它的原因),闭源也没法自己构建。另外,它似乎和 Typora 一样在测试期间免费,但照这个更新频率可能永远出不了 beta 了。
优点:
-
简洁
-
能够直接发布文章到 WordPress/Medium/GitHub 等平台,或者上传图片到托管服务
-
跨三大桌面平台
缺点:
-
闭源
-
长期不更新
-
中文字体渲染诡异(上图英文是苹方,中文是宋体…… 开发者甚至似乎是个国人)
-
HTML 标签支持差
-
不支持公式渲染
Marker
Marker 是基于 GTK3 的 Markdown 编辑器,得益于此,它有着原生的流畅体验,但支持的平台很少。
优点:
-
不是 Electron
-
可自定义的 CSS 样式和语法
-
支持 Mermaid 等组件
缺点:
-
仅支持 Linux 和 FreeBSD
-
似乎语法支持不太全
Joplin
Joplin 是使用 Electron 开发的开源笔记软件,使用 Markdown 格式。把它加进来是因为呼声实在是太高了,歪打正着又发现它除了记笔记之外,对 Markdown 语法的支持也是很不错的。
优点:
-
广泛的移动端和桌面端设备支持
-
完善的云端同步方案,还可自行托管同步服务端 Joplin Server
-
语法支持较为完善且标准
-
界面比较整洁
-
较好的图片管理
缺点:
- 必须导入为笔记或笔记本才可编辑
Typedown
Typedown 是一款遵循 WinUI 规范的 Markdown 编辑器。logo 有点山寨,但对于日常使用来说还是够用的,而且颜值也能令人耳目一新。
优点:
-
Fluent Design 规范,外观优秀
-
菜单组织合理
缺点:
-
仅支持 Windows 10 及以上,不支持其他平台
-
闭源
Ghostwriter
Ghostwriter 是一款来自 KDE 的开源 Markdown 编辑器,基于 Qt,但名字不含 K。在 distraction-free 这个方面,它做得确实很好,并且对标准执行得也很严格。
优点:
-
非 Electron
-
跨三大桌面平台(macOS 必须自己编译)
-
界面简洁而不失易用性
-
渲染语法非常标准,且能够切换使用多种标准模式
-
写作时间与效率统计、阅读难度分析
-
快
缺点:
-
代码没有语法高亮
-
默认
cmark-gfm
模式只支持导出 HTML -
预览与代码不能同时上下翻动
-
不支持数学公式预览
-
仍使用了 Qt Web Engine 渲染预览,占内存稍大
KeenWrite
KeenWrite 是一款以 “string interpolation"(将某些常用的字符串设为变量,使用时可以直接调用,类似于 Kotlin)为特色、基于 Java 的开源 Markdown 编辑器。如你所见,由于某些不知名的 bug,右边并没有显示出预览。
优点:
-
非 Electron
-
创新性的将 string interpolation 引入 Markdown 编辑器
-
跨三大桌面平台
缺点:
-
占内存巨大,又卡又慢(Java 嘛…… 打开
perf.md
完全无响应,还吃掉了 1G 内存) -
存在无法显示预览的 bug(可能是暂时性 / 个例;影响了所有依赖于预览的测试项目)
Notepads
Notepads 是一款 Windows 下的文本编辑器,支持 Markdown 渲染。外观还可以,但基本只适合轻度的编辑。
优点:
-
好看
-
非 Electron
-
占用小,非常快
缺点:
-
仅支持 Windows 10 及以上,不支持其他平台
-
语法特性支持较差,且无数学公式渲染
-
1MB 文件限制
-
不支持导出为其他文档
妙言
妙言 是一款 macOS 平台的 Markdown 编辑器。很轻盈,很好看,唯独可惜不支持其他平台。
优点:
-
简洁优美,很符合对 macOS 的印象
-
Swift 原生开发
-
放映模式,将 Markdown 文档变成演示文稿
-
较好地符合 CommonMark 标准,预览、导出始终如一
-
罕见地支持 Mermaid、PlantUML 等图表
-
支持 PicGo 等图床上传,默认也会将图片保存到本地
缺点:
-
不跨平台
-
似乎不支持分栏显示预览和编辑(似乎是作者有意的),也没有所见即所得(暂时)
Yank Note
Yank Note 是一款扩展性极强的 “面向程序员的”Markdown 笔记应用。嗯,确实很程序员(褒义 + 贬义)。
优点:
-
强大的插件体系,Mermaid、Draw.io、ECharts、Git、Milkdown 甚至 Code Runner 运行代码
-
信息多而全
-
完善的图片处理逻辑,本地保存 + PicGo
-
宏替换(付费功能)
-
提供少见的在线 demo
缺点:
-
配色有点死板,不够灵动
-
拖动预览,代码却不能一块儿拖动
MarkEdit
MarkEdit 是一款在贯彻自己哲学的 Markdown 编辑器,从里到外地简洁(也简陋)。
优点:
-
轻快,非常小
-
性能强,完全不卡,占用最小(甚至比网页端的几个还小)
-
界面没有什么多余的元素
-
内置 Grammarly
-
Swift 原生开发,支持触控板重按手势等 macOS 特性
缺点:
-
不跨平台(仅 macOS)
-
没有预览也没有所见即所得,只有代码高亮和一定的格式(有意而为之,但这造成了数学公式和图片预览等一些方面吃了亏)
-
没有直接的导出、图片管理等功能(也是有意而为之,只能手动复制 Pandoc 命令导出)
Visual Studio Code
提到编辑文件,可能永远都绕不开 VS Code,它也是我们的老朋友了。仅仅是编辑 Markdown 的话,不装任何插件的 VS Code 就能基本胜任,但不要忘了它有一个巨大的插件市场,大部分不满意的方面都能通过插件搞定。虽然效果可能只能说差强人意,但总比没有强。
优点:
-
(也许)早就是装机必备软件了,上手成本低
-
跨平台(Windows、Linux、macOS,也可以使用 code-server、vscode.dev 等方法在网页端使用)
-
界面比较美观
-
带语法高亮和实时预览
-
深度融合代码工作区,适合用来写 readme
-
什么都找得到的插件市场,包括神奇的 GitHub Copilot 自动补全
-
虽然是 Electron,但性能非常好
缺点:
- 导出 PDF 需要装插件,体验欠佳
IntelliJ IDEA
写 Java 的读者应该对 IDEA 很熟悉了。用它写起 Markdown 也是很舒服的,代码块内还能自动补全,就像直接编译源代码一样。这里直接用 GoLand 了,毕竟 JetBrains 家 IDE 基本都是一个样。但是这个玩意似乎完全不支持 PDF 导出,或许 JB 加入这个功能的本意就只是写个 readme 吧。
优点:
-
跨平台(Windows、Linux、macOS)
-
与 IDE 工作区深度融合
-
不是 Electron 或 Web 端
-
语法高亮和实时预览
-
代码块内的自动补全和快捷运行
-
图表支持
缺点:
-
不能导出 PDF
-
打开一个项目才能写
-
不支持 TeX 公式
Microsoft Word
混乱邪恶势力来了,吔屎啦,Markdown!!!Pandoc 支持将 Word 文档转换为 Markdown 格式,而 Word 也有完善的 PDF 导出功能。鉴于 Word 本身的优秀体验,我觉得倒也不是完全不可行。
优点:
-
操作逻辑简单,基本都能使用 GUI 完成,符合大部分人习惯
-
界面美观
-
OneDrive 同步深度融合,体验极佳
-
不是 Electron
-
功能强大
缺点:
-
(桌面版)仅不支持 Linux
-
闭源,价格昂贵
-
与 Markdown 特性不能完美兼容(也可以说完全不能兼容)
-
极差的代码输入体验
Xcode
算 Word 不算 Xcode 的话,有点不合适了吧。当然,这玩意摆在这儿还是为了整活。
优点:
-
性能挺强的,战争与和平滑动完全不卡
-
CommonMark 支持还算不错
缺点:
-
不跨平台
-
闭源
-
除 CommonMark 之外支持稀烂
待测:Vrite