打算做一款支持增量解析的 Markdown 编辑器,还有市场吗? - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
powersee
V2EX    问与答

打算做一款支持增量解析的 Markdown 编辑器,还有市场吗?

< href="Javascript:" Onclick="upVoteTopic(1184853);" class="vote">
  •  
  •   powersee 3 天前 884 次点击

    目前市面上的本地 Markdown 编辑器,大多在文件规模变大后性能急剧下降。字数一多,输入卡顿、CPU 飙升,编辑体验直线下滑,几乎不可用。

    最近在研究 tree-sitter ,基于它实现了一个 Markdown 增量解析器,效果比预期好很多:

    • 200 万字符(约 10 万行)全量解析:约 200ms
    • 增量解析(插入 1 个字符):仅 1020ms
    • 生成的 CST 并非 AST

    也就是说,在超大文档场景下,依然可以做到接近实时的解析和响应;配合上 CST 可以执行格式化等一些列操作。


    目前的想法是使用 Qt5 + WebView2 ,做一款跨平台的本地 Markdown 增量编辑器,核心目标:

    • 不管文件多大,编辑都要丝滑
    • 轻量级,安装包控制在 10-20mb
    • WYSIWYG 和 代码模式

    想请教下大家: 你们在 Markdown 编辑器里,是否遇到过「大文件卡顿」的问题?

    这样的产品,还有没有市场和实际需求?

    17 条回复    2026-01-13 10:57:51 +08:00
    mekingname
        1
    mekingname  
       3 天前
    V 站已经有人做过了。你搜索一下。就 2025 年
    powersee
        2
    powersee  
    OP
       3 天前
    @mekingname #1 incremark 吗?它似乎只对后续新增的内容处理,如果在头部或者中间随机插入字符就不行了。
    tanszhe
        3
    tanszhe  
       3 天前
    不错 ,目前市场上的基本上都是 js 的 Electron 文件大点就卡的很
    vfs
        4
    vfs  
       3 天前
    通常 md 文件都比较小啊,性能应该不重要吧
    powersee
        5
    powersee  
    OP
       3 天前 via iPhone
    @vfs #4 有时候写文档可能有几千行
    inostarling
        6
    inostarling  
       2 天前
    Obsidian ,我目前一个 1500 行堆满了 LaTeX 数学公式的 Markdown 文档丝毫不卡,这应该已经超过 99%的使用场景了。
    inostarling
        7
    inostarling  
       2 天前
    还有一个混合了代码、公式、图片的 2600 行文档也丝毫不卡。我认为再造轮子意义不大
    powersee
        8
    powersee  
    OP
       2 天前 via iPhone
    @inostarling #6 Obsidian 的确强,但它的定位不是编辑器啊
    dode
        9
    dode  
       2 天前
    拆分成多个文件和章节呢
    vfs
        10
    vfs  
       2 天前
    @powersee 专门在我机器上搜了一下,最大的一个 md 是 vcpkg 的 chagnelog , 有 1182 kb 大小,typora 卡顿。 第二大的是 openssl 的 changes, 737kb, typora 直接在开头插入字符,瞬间渲染。所以你的目标是处理 1182 kb 的 md ? 又有多少用例呢
    msg7086
        11
    msg7086  
       2 天前
    市场?
    你的意思是,有人宁愿付费购买你的产品也不愿意把大的 markdown 拆分成多个小的来编辑是吗……

    而且看你的意思,你做的还不是一款 markdown 编辑器,而是一款定位于所见即所得的编辑器。
    我要编辑那么长的 md 的话,开个 vscode 直接改代码就完事了,还要付费买编辑器吗。

    我觉得先问问你自己,愿不愿意掏钱买这样一个产品吧,以及,打算掏多少钱,然后再核算一下如果开发出来会亏多少钱吧。先写个最基本的商业计划书。
    powersee
        12
    powersee  
    OP
       2 天前 via iPhone
    @vfs #10 我觉得 typora 打开文字过多的 markdown 卡是不争的事实,如果 markdown 超过 2mb typora 似乎不允许你打开


    @msg7086 #11 收费的话的确难搞,如果有这样的产品我可能只会掏 60-80 左右
    msg7086
        13
    msg7086  
       2 天前
    咱们就按 100 算,如果你的卖点就只是所见即所得修改大文件的话,就算全中国加起来愿意买你的产品的人恐怕也不会超过 20 个吧,那你能用于开发和后续维护的成本就只有 2 千块。按照月薪 1 万来算,你这个项目得 3 天内干完,然后留 1 天的余量给后续维护,这才只是能回本。

    反过来说,如果你的目标是做一款完全代替 typora 的上位产品,即实现 typora 的所有功能,在这基础上再加强大文件修改的话,倒可能市场还大一些,但说白了还是要做好成本核算,再加上 typora 已经有很多人买了,他们愿不愿意再掏一份钱也是个问题。

    (除非你打算用爱发电做免费开源的项目,干死 typora ,倒说不定可行?)

    这年头本地 md 编辑器就已经是小众软件了。大众在用什么呢?我周围的朋友都用 lofter 。
    powersee
        14
    powersee  
    OP
       2 天前 via iPhone
    @msg7086 #13 很扎心但也很现实的评论,如果想要商业化成功还有很多路要走,很多功能要开发。

    目前大多 markdown 都是笔记形式的,以我个人来说 我就想要一个类似 notepad++ 这样的纯粹编辑器。虽然也有很多本地 markdown 编辑器,但是:项目体积、性能、功能、大文件预览、启动速度、码字丝滑度等等,满足这些的应该只有 typora 做的不错,但是在 macOS 上太卡了,我写技术文档时时常光标乱跑,页面掉帧等等。

    所以萌生了开发一个新的:体积小、跨平台、性能高的纯粹 markdown 编辑器
    msg7086
        15
    msg7086  
       2 天前
    体积小、跨平台、性能高

    谁不想呢。可惜,想法是美好的,钱包是骨感的……

    其实这个年代,想试试的话也未尝不可。掏出 AI ,找个便宜点的中转平台,给自己定下 100 块钱的成本,找个价格适中的模型,花几天或者一周时间开发一个 markdown 编辑器的 MVP 出来,然后根据结果来决定要不要下水。如果一周时间都写不出一个 MVP 甚至 POC ,那我觉得就可以放下笔了。
    msg7086
        16
    msg7086  
       2 天前
    顺便提一句,不要重蹈这位老哥的覆辙 /t/532897
    powersee
        17
    powersee  
    OP
       2 天前
    @msg7086 #16 目前还在上班,可能会在业余时间实现一下
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     3928 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 53ms UTC 10:26 PVG 18:26 LAX 02:26 JFK 05:26
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86