我正在使用 spacemacs,我正在寻找一个插件来实时预览 Markdown。我找到了一个插件markdown-preview-eww ,但它需要一个 gem,我不想安装 ruby。
markdown-mode只是将md导出为html,并且无法实时预览markdown。另外,我不喜欢在未经我同意的情况下生成任何文件。
那么,有没有可以在 emacs 中预览 markdown 的插件呢?或者每个人都在 emacs 中使用 org-mode 而不是 markdown 吗?
最佳答案
这里列出了一些解决方案:http://wikemacs.org/wiki/Markdown#Live_preview_as_you_type .
纯粹的 Emacs(接近)解决方案和简单的解决方案,不需要 Python 或 Nodejs 的额外库,是不耐烦模式。
不耐烦模式
它被设计为与 html 一起使用,但文档给出了一个技巧,使其可以与 markdown 一起使用。它也像一个魅力一样工作,但需要一个配置步骤:
- 假设您已将 package.el 配置为使用 melpa,则使用
M-x package-install RET imeptic-mode RET
安装 imeptic-mode存储库。 - 使用
M-x httpd-start
启动 emacs 的 Web 服务器。 - 在您有兴趣进行实时预览的缓冲区中启动不耐烦模式:
M-x不耐烦模式
。 - 打开浏览器访问 localhost:8080/imp。您将看到启用该模式的缓冲区列表。单击其中一个:您会看到缓冲区的实时渲染。
要启用 Markdown 转换,我们遵循 wikemacs:
在某处定义此 elisp 函数,例如在初始化文件中:
<!-- language: lang-lisp --> (defun markdown-html (buffer) (princ (with-current-buffer buffer (format "<!DOCTYPE html><html><title>Impatient Markdown</title><xmp theme=\"united\" style=\"display:none;\"> %s </xmp><script src=\"http://ndossougbe.github.io/strapdown/dist/strapdown.js\"></script></html>" (buffer-substring-no-properties (point-min) (point-max)))) (current-buffer)))
告诉不耐烦模式使用它:
M-x imp-set-user-filter RET markdown-html RET
。返回您的浏览器,它可以工作了!
livedown-mode(使用 npm)
https://github.com/shime/emacs-livedown需要 livedown
npm 包。另外,这个 emacs 包不在 MELPA 中,你必须在本地克隆它。否则,它是一个很好的轻量级解决方案。
Vmd 模式(npm、Electron)
另一个解决方案是 vmd-mode ,它与 vmd
节点包一起使用。这不是最重量级的解决方案:vmd 基于 Electron (!)。
Grip-mode(Python、Github 的速率限制)
另一个是grip-mode ,依赖于 Python 包:
pip install --user grip
M-x package-install grip-mode
然后在 Markdown 缓冲区中运行 M-x grant-mode
。它会在您的浏览器中打开一个新选项卡。
不幸的是,在撰写本文时,它受到 Github 速率限制的限制。事实上,为了像 Github 一样精确地呈现内容,它调用了它的 API。它不会在本地呈现内容。因此,我们每小时只能调用 60 个电话,这个数字非常少。请参阅此问题:https://github.com/joeyespo/grip/issues/35
关于emacs - 如何在 Emacs 中实时预览 Markdown?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36183071/