之前曾读到一位友人写的 私有部署知识库系统横评 文章,感觉十分的有帮助,认识到除难部署的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