更好的 Markdown 预览插件 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
yuuko
V2EX    Vim

更好的 Markdown 预览插件

  •  1
     
  •   yuuko 2019-01-19 18:08:35 +08:00 8710 次点击
    这是一个创建于 2523 天前的主题,其中的信息可能已经有所发展或是发生改变。

    该插件主要通过打开浏览器预览 markdown 文件

    screenshot

    主要功能

    • 支持 macos/linux/windows 三个平台
    • 更好的同步滚动
    • 异步更新
    • 支持 katex 数学公式,plantuml,memaid,chart.js ,emoji,task list,本地图片预览 等。

    版本要求

    唯一的要求就是 vim >= 8.1 / neovim

    地址:markdown-preview.nvim

    为什么已经存在那么多的类似插件还要再写一个

    主要还是因为这些插件都不好用。。。包括我自己在 15 年的时候写的 markdown-preview.vim,当时写的时候 vim 还没支持异步,所以使用了成吨的硬编码和各种蛇皮操作,包括同步滚动的实现,导致了插件的拓展或者维护异常艰难。这次的插件使用了 Neovim 的 RPC API,写起来很丝滑,所以这个插件可能是目前在 github 上能找到的同类插件中最吼的(逃

    关于 vim 支持

    插件一开始是只支持 neovim 的,这就是为什么我不在原来的插件仓库更新而另起仓库的原因。而 vim 的支持 使用了 chemzqm 大佬的 vim-node-rpc 插件。而关于插件 pkg 打包,release 和 download 相关的代码 则使用了 coc.nvim 部分代码。

    一点微小的工作,蟹蟹大家

    29 条回复    2019-01-21 20:53:06 +08:00
    dfourc
        1
    dfourc  
       2019-01-19 18:11:42 +08:00
    刚想找个 markdown 编辑器
    yuuko
        2
    yuuko  
    OP
       2019-01-19 18:13:35 +08:00
    @galikeoy 这就很神奇了
    bzshow1
        3
    bzshow1  
       2019-01-19 19:02:16 +08:00   1
    创意特神奇
    jdhao
        4
    jdhao  
       2019-01-19 19:05:31 +08:00   1
    感谢 OP,正在用你的插件,必须要让你知道!
    wleexi
        5
    wleexi  
       2019-01-19 19:49:47 +08:00
    能不能支持 vscode 啊。。。
    Sanko
        6
    Sanko  
       2019-01-19 20:03:57 +08:00 via Android   1
    脑洞不错
    dangoron
        7
    dangoron  
       2019-01-19 20:18:06 +08:00   1
    之前一直在用
    Plug 'iamcco/markdown-preview.vim'
    Plug 'iamcco/mathjax-support-for-mkdp'
    可以更新换代了,谢谢楼主的付出
    yuuko
        8
    yuuko  
    OP
       2019-01-19 20:31:53 +08:00 via Android
    @wleexi vscode 有自己的预览插件
    stebest
        9
    stebest  
       2019-01-19 23:22:17 +08:00
    试试吧,就不知道 bug 多不多。之前也是试了好多,后来都放弃了~
    psjay
        10
    psjay  
       2019-01-20 00:17:11 +08:00
    光是跨应用预览就已经够难用了,Vim 不管怎么折腾,不适合做这件事情。
    valueOne
        11
    valueOne  
       2019-01-20 01:02:47 +08:00 via Android
    vim 插件啊 emmm
    omph
        12
    omph  
       2019-01-20 07:58:19 +08:00
    厉害!
    chungzhao
        13
    chungzhao  
       2019-01-20 09:25:46 +08:00
    前排资瓷!!!希望移植到更多的平台,比如 VS Code !!!
    XiLemon
        14
    XiLemon  
       2019-01-20 09:40:18 +08:00 via iPhone
    在用,支持!
    diggerdu
        15
    diggerdu  
       2019-01-20 10:07:50 +08:00 via iPhone
    支持 虽然在终端里用 watch -n 0.1 mdv xxx.md 更方便
    VoldikSS
        16
    VoldikSS  
       2019-01-20 10:40:20 +08:00 via Android
    支持大佬,在用了
    morningtzh
        17
    morningtzh  
       2019-01-20 11:35:20 +08:00
    @galikeoy vscode + markdown-perview-exhance 超爽!纯文本写作的时候我就用 bear 了
    morningtzh
        18
    morningtzh  
       2019-01-20 11:36:20 +08:00
    vim 苦手飘过
    BBCCBB
        19
    BBCCBB  
       2019-01-20 13:53:06 +08:00
    资瓷!!
    Rocka
        20
    Rocka  
       2019-01-20 18:30:01 +08:00
    @chungzhao #13 VSCode 自带 Markdown 预览 ... 打开 Markdown 文件后,右上角就有 Open Preview to the Side
    hanxiV2EX
        21
    hanxiV2EX  
       2019-01-20 19:52:28 +08:00 via Android
    支持!发现 V2 上好多 vim 插件大牛,要不试试配合 lemonade 实现在 服务器 /虚拟机 里写文章,在本地 windows 里打开浏览器?

    不好意思,我可能提了个伪需求。但看了下代码,应该只需要改 opener.ts ,然后在 viml 里面传个选项进来就行,所以只要 opener.ts 支持自定义配置 command,然后发现 opener.ts 又是支持的,所以就只需要改 server.js 就行。

    我瞎扯的,等我用到的时候说不定我会去给你提个 PR。
    hanxiV2EX
        22
    hanxiV2EX  
       2019-01-20 19:57:23 +08:00 via Android
    然后再看了一下 server.js ,又是支持自定义 browser 的,就当我上面说的都是废话吧。打脸了
    wequart
        23
    wequart  
       2019-01-20 20:44:28 +08:00
    @chungzhao VS Code 内置快捷键 ctrl+k v 可以实时预览
    yuuko
        24
    yuuko  
    OP
       2019-01-20 21:02:35 +08:00
    @hanxiV2EX 已经有人用这个插件在 server 的 vim 写 markdown,在本地 windows chrome 预览,https://github.com/iamcco/markdown-preview.nvim/issues/4
    yuuko
        25
    yuuko  
    OP
       2019-01-20 21:10:03 +08:00   1
    @hanxiV2EX 虽然不知道 lemoade 是什么,但是 插件支持设置用户自定义的 vim 函数接收 url 预览地址
    hanxiV2EX
        26
    hanxiV2EX  
       2019-01-20 23:07:27 +08:00 via Android
    @yuuko https://github.com/lemonade-command/lemonade
    这是个好东西。共享粘贴板的,支持打开浏览器。今天试了下改 browser 没搞定,明天试试你说的回调 vim 函数,应该能行。
    yuuko
        27
    yuuko  
    OP
       2019-01-20 23:59:07 +08:00   1
    @hanxiV2EX 设置 `g:mkdp_browserfunc`

    ```viml
    function! g:Open_browser(url)
    " do something
    endfunction

    " 设置调用的函数的名字
    let g:mkdp_browserfunc = 'g:Open_browser'
    ```

    lemonade 看起来不错
    hanxiV2EX
        28
    hanxiV2EX  
       2019-01-21 00:36:08 +08:00 via Android   1
    @yuuko 很有用的,解决了我多年服务器开发过程中只能用鼠标选中复制几行文字的问题。现在我都是无缝复制粘贴。https://github.com/hanxi/blog/issues/17

    neovim 支持这个粘贴板的。
    chungzhao
        29
    chungzhao  
       2019-01-21 20:53:06 +08:00
    @Rocka @wequart 我知道啊,但是我觉得网页浏览更舒服吧
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     2905 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 45ms UTC 14:12 PVG 22:12 LAX 06:12 JFK 09:12
    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