之前曾读到一位友人写的私有部署知识库系统横评文章,感觉十分的有帮助,认识到除难部署的Outline之外全都不符合自己需求,遂直接把自己的文字笔记全切到了Notion(大雾)。但是Notion本身是一个知识库系统,并不能很好支持Markdown格式,也不够轻量化,对于写一份简单文档的需求,单纯的Markdown编辑器无疑是更好的选择。如果你找Markdown编辑器是为了记笔记,那么我更建议你读读上面链接中的文章,知识库的方案会更加有优势。PS:现在我的笔记已经全都在思源上面了。
但很显然我不只有记笔记的需求,所以挑选了几款Markdown编辑器做一个横评。Markdown编辑器没有one size fit all,每款编辑器有自己的哲学,有的追求多而全的功能,有的追求极致的性能,有的坚守KISS原则,有的开发了插件系统,还有的只是顺便做个Markdown编辑功能。为了挑选一款适合自己的编辑器,我还是建议读者通读上下篇。你现在看到的是上篇,包含了我对每一款编辑器的主观大概评价,但无法表现哪个方面谁做得更好;而下篇注重量化对比,但对于一些特色功能,无法体现在表格中。
在这里特别感谢每一位开发者,特别是开源软件贡献者,没有他们,就没有编辑器百花齐放的今天。
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
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之外支持稀烂
word就离谱(ó﹏ò。)
VSCode 可以嵌入Vditor实现所见即所得效果的
Vditor的效果看Arya就好,如果说把这个算作VS Code的功能我觉得不太合适,不过我稍后也会在文中补一句
Typedown是哪个?
可以使用导航栏找到 这里
我意思是Typedown的官方链接/官网是什么?
不知道,似乎没做。只有MS Store页面
MS Store, 那还是算了; 目前免费开源的实时渲染Markdown 编辑器, 整体来看, 还是Abricotine好点, 当然Abricotine也是electron的;
有空时, 我准备把他的渲染库替换掉, 用来自娱自乐.