如何实时预览Emacs中的降价?

hon*_*ple 43 emacs markdown

我正在使用spacemacs,我正在寻找一个实时预览降价的插件.我找到了插件markdown-preview-eww,但它需要一个gem,我不想安装ruby.

降价模式只是出口MD为HTML,它不能实时预览降价.另外,如果没有我的同意,我不想生成任何文件.

那么,是否有任何插件可以在emacs中预览markdown?或者每个人都在emacs中使用org-mode而不是markdown?

Ehv*_*nce 43

这里列出了一些解决方案:http://wikemacs.org/wiki/Markdown#Live_preview_as_you_type.

其中两个需要额外的软件包:你提到的ruby或者npm(nodejs,javascript)库livedown-mode.

虽然有两个纯粹的Elisp选项!最简单的是flymd另一种叫做不耐烦模式.两者都在Melpa中可用.

Flymd

使用package.el(M-x package-install RET flymd RET)安装它,然后只需调用Mx flymd-flyit.它使用渲染的降价打开浏览器.

我们可以启用/禁用自动重新加载和github markdown风格.

心急模式

它的设计目的是使用html,但是doc提供了一个技巧,可以使用markdown.它也像魅力一样,但需要一个配置步骤:

  • M-x package-install RET impatient-mode RET如果已配置package.el以使用melpa存储库,请安装impatient-mode .
  • 使用启动emacs的Web服务器M-x httpd-start.
  • 在你想要预览的缓冲区中启动不耐烦模式:M-x impatient-mode.
  • 将浏览器打开到localhost:8080/imp.您将看到启用了模式的缓冲区列表.单击一个:您会看到缓冲区的实时渲染.

要启用降价转换,我们会关注wikemacs:

  • 在某处定义此elisp函数,例如在init文件中:

    (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://strapdownjs.com/v/0.2/strapdown.js\"></script></html>" (buffer-substring-no-properties (point-min) (point-max))))
      (current-buffer)))
    
    Run Code Online (Sandbox Code Playgroud)
  • 告诉不耐烦的模式使用它:M-x imp-set-user-filter RET markdown-html RET.

  • 回到你的浏览器,它的工作原理!

  • “不耐烦模式”对我来说非常有效!谢谢@Ehvince。 (3认同)
  • 在同一作者中,您可能需要检查串口模式https://github.com/skeeto/skewer-mode,它在Web浏览器中提供与JavaScript,CSS和HTML的实时交互! (2认同)
  • 从 68 开始,flymd 就无法在 Firefox 上运行,请参阅 https://github.com/mola-T/flymd/issues/27 (2认同)

mar*_*nuy 6

我喜欢这种不需要其他软件包或浏览器的简单方法:

  • M-x markdown-other-window在当前缓冲区上执行并在其他窗口中显示结果。

  • 更改为M-x html-mode并隐藏HTML标签M-x sgml-tags-invisible

然后,要更新html缓冲区,请再次markdown-other-window C-c C-c m在markdown缓冲区上运行。

  • 抄送抄送现在可以做同样的事情 (2认同)

Jin*_*Jin 6

您现在可以在 Spacemacs 中使用markdown-live-preview-mode或执行此操作SPC m c p

  • 您也可以在常规 Emacs 中执行此操作(至少在“GNU Emacs 26.1”中)...确保在 Mac 上“brew install markdown” (2认同)

sea*_*128 6

我想推荐抓地模式:即时 Github 风格的 Markdown/Org 预览。


Sau*_*abh 6

在执行此答案中的步骤之前,您需要在系统上安装一个 Markdown 解析器,并在 emacs 中将其关联到一个主要模式。

将 emacs 包存储库添加到 init.el

(require 'package)
(add-to-list 'package-archives
             '("melpa-stable" . "https://stable.melpa.org/packages/"))
(package-initialize)
Run Code Online (Sandbox Code Playgroud)

重新启动 emacs 并刷新软件包:

M-x package-refresh-contents

通过评估安装 emacs 主要模式 markdown-mode:

M-x package-install RET markdown-mode RET

安装 Markdown 处理器:

brew install pandoc
OR
sudo apt-get install pandoc
Run Code Online (Sandbox Code Playgroud)

将 Markdown 解析器映射到主要模式,如下所示~/.emacs.d/init.el

(custom-set-variables
  '(markdown-command "/usr/local/bin/pandoc"))
Run Code Online (Sandbox Code Playgroud)

  • 这是最直接的答案以及引用的答案,而且它有效!我在迷你缓冲区中收到“Markdown 命令 markdown 错误”,但无法弄清楚原因 (2认同)