Typora太贵了?这款用 Flutter 重写的 Markdown 编辑器,真的可以

139 阅读6分钟

Typora 收费后,我试了不下十款编辑器,直到遇到它。

事情是这样的

相信不少朋友和我一样,日常写技术文档、博客、笔记都离不开 Markdown。之前一直用 Typora,体验确实好,但自从它开始收费之后,就一直在找替代品。

Obsidian?功能强大,但我只是想写个 Markdown,不想管理一个知识库。VS Code?装一堆插件之后勉强能用,但总觉得杀鸡用牛刀。原版 MarkText?开源免费,但已经两年多没更新了,Bug 一堆没人修。

前段时间在 GitHub 闲逛,偶然发现了一个叫 MarkText Plus 的项目。名字看着像是 MarkText 的升级版,点进去一看——还真是。用 Flutter 从头重写的,界面清爽,功能齐全,关键是完全免费开源

用了一段时间,觉得有必要安利一下。

先说结论

如果你的需求是:

  • 一个打开就能写的 Markdown 编辑器
  • 不想装一堆插件,开箱即用
  • 希望启动快、不卡顿、不吃内存
  • 最好免费开源

那 MarkText Plus 基本就是你要找的东西。

项目地址github.com/SugarFatFre…

轻量到什么程度

先上一组数据,感受一下差距:

MarkText PlusTyporaObsidianVS Code
安装包~25MB~80MB~300MB~100MB
启动速度<1s~2s~3s~3s
内存占用~80MB~150MB~300MB~400MB
底层技术FlutterElectronElectronElectron

为什么差这么多?因为 Electron 本质上是打包了一个 Chrome 浏览器,而 Flutter 编译出来的是原生代码。这不是优化的问题,是起跑线就不一样

25MB 的安装包,秒开,写东西的时候风扇不转。就这一点,已经赢了。

功能够用吗

说实话,刚开始我也担心"轻量"是不是"简陋"的委婉说法。用下来发现,该有的功能一个不少。

三种编辑模式随便切

  • 源码模式:带行号、语法高亮,写代码的朋友最熟悉
  • 预览模式:实时渲染,写完就是最终效果
  • 分屏模式:左边写右边看,中间的分隔条可以拖

我个人最常用分屏模式,左边敲 Markdown 右边实时看效果,体验和 Typora 的实时预览各有千秋。

8 套主题,审美在线

这是让我比较惊喜的地方。不是那种随便调几个颜色就叫"主题"的敷衍做法,每套都是精心设计过的:

浅色系:Red Graphite(红石墨)、Shibuya(涩谷)、Pink Blossom(粉樱)、Sky Blue(天蓝)

深色系:Dark Graphite(深色石墨)、Dieci OLED(纯黑)、Nord(极光)、Midnight(暗夜蓝)

而且主题会自动判断明暗,选了深色主题就是深色模式,不需要额外设置。个人最喜欢 Nord 和 Shibuya,写东西的时候心情都好一点。

Mermaid 图表,原生渲染

这个功能必须单独拿出来说。在 Markdown 里写 Mermaid 语法,切到预览模式直接就能看到渲染好的图表:

graph TD
    A[需求评审] --> B[技术方案]
    B --> C{方案评审}
    C -->|通过| D[开发]
    C -->|打回| B
    D --> E[测试]
    E --> F[上线]

流程图、时序图、甘特图、饼图、雷达图、时间线、看板……基本上 Mermaid 支持的图表类型都能渲染。

重点来了:这个渲染是纯 Dart 实现的,不依赖 WebView。什么意思呢?就是不需要联网,不需要加载一个隐藏的浏览器内核,渲染速度快,也不会有 WebView 那些奇奇怪怪的兼容性问题。

写技术文档的时候画个流程图,再也不用切到别的工具了。

12 种语言

英语、中文、日语、韩语、德语、法语、意大利语、俄语、西班牙语、葡萄牙语、阿拉伯语、巴西葡萄牙语。阿拉伯语还做了 RTL(从右到左)布局适配。

对于一个开源项目来说,国际化做到这个程度挺用心的。

其他值得一提的

  • 查找替换:支持正则、大小写、全字匹配,够用
  • 文件树:侧边栏可以打开整个文件夹,拖拽也行
  • 自动保存:间隔时间可配置,再也不怕断电
  • 数学公式:LaTeX 语法,行内和块级都支持
  • 导出:HTML 和 PDF,HTML 导出还自带 GitHub 风格样式
  • 快捷键:Ctrl+B 加粗、Ctrl+I 斜体这些都有,和主流编辑器一致

技术层面聊两句

如果你也是开发者,可能会好奇它的技术选型。简单说几点:

自研解析器:没有用第三方 Markdown 库,自己写的解析器和渲染器。好处是完全可控,想加什么语法扩展都方便。

Riverpod 状态管理:Flutter 生态里比较成熟的方案,代码组织得挺清晰。

Token 化主题系统:14 个颜色 token 控制全局样式,想加新主题只需要定义一组颜色值就行。

Mermaid 渲染引擎:自带 Dagre 和 Sugiyama 两种布局算法,用 CustomPainter 直接画。不是套壳 WebView,是真的从解析到渲染全部自己实现的。

整体架构是四层:UI → 状态管理 → 服务层 → 平台层。代码结构清晰,想参与贡献的话上手门槛不高。

和同类产品怎么选

MarkText PlusTyporaObsidian原版 MarkText
免费开源❌($14.99)部分免费✅(已停更)
启动速度中等中等
内存占用中等中等
Mermaid原生渲染WebView需要插件WebView
主题数量8 套6 套社区主题6 套
多语言12 种有限社区翻译8 种
分屏编辑
插件系统规划中

选 MarkText Plus 的理由:轻量、快、免费、Mermaid 原生渲染、积极维护中

暂时不选的理由:功能还在完善中(约 40% 完成度),没有插件系统,没有双向链接

说白了,如果你需要的是一个纯粹的 Markdown 编辑器,它已经够用了。如果你需要知识管理、双向链接、插件生态,那目前 Obsidian 还是更合适。

怎么用

最简单的方式,三行命令:

git clone https://github.com/SugarFatFree/marktext-plus.git
cd marktext-plus/code
flutter pub get && flutter run

不想折腾编译环境的话,直接去 Releases 下载对应平台的安装包就行。Windows、macOS、Linux 都有。

最后

说实话,MarkText Plus 目前还不算完美,有些功能还在开发中。但从它的迭代速度来看(写这篇文章时已经到 v1.1.4 了),作者是在认真做这个项目的。路线图里还规划了图片拖拽插入、快捷键自定义、Git 集成、甚至 AI 辅助写作。

如果你也在找一款轻量、好看、免费的 Markdown 编辑器,不妨试试。好用的话去 GitHub 点个 Star,对开源作者来说就是最好的鼓励。

项目地址github.com/SugarFatFre…

开源协议:MIT

如果你有其他好用的 Markdown 编辑器推荐,也欢迎在评论区分享,大家一起交流。