用Emacs优雅的抒写markdown

啥?

作为一个Emacser肯定是用Emacs写markdown的。

我觉得称得上“优雅”需要两点:

  1. 编辑器可以提供自动补全,关键字高亮,模板补全
  2. 快捷键预览markdown文件(输出html、pdf格式都可以)

既然想优雅的写markdown,我们就需要下面两个插件:

  1. markdown-mode.el
  2. Pandoc

markdown-mode.el

这是Emacs的关于markdown的插件,可以通过elpa直接安装。

现已发现的优点:

  1. 关键字高亮
  2. 快捷键自动补全(例如Org-mode的Alt+Enter功能)
  3. 快速模板、自定义模板(再也不用担心忘了怎么插入图片了…)
  4. 待探索…

Pandoc

让我们先看一下Pandoc的wiki:

Pandoc是由John MacFarlane开发的标记语言转换工具,可实现不同标记语言间的格式转换,堪称该领域中的“瑞士军刀”。Pandoc使用Haskell语言编写,以命令行形式实现与用户的交互,可支持多种操作系统;Pandoc采用GNU GPL授权协议发布,属于自由软件。

所以我们使用Pandoc的目的是:直接预览一个markdown文件

1. 安装Pandoc

对于Mac,现在可以直接通过Homebrew安装Pandoc

$ brew install pandoc

2. 配置预览快捷键命令

Emacs的mardown-mode自带预览快捷键:C-c C-c p。既然我们使用pandoc来预览,就需要修改一下快捷键对应的执行命令:

Emacs菜单栏”option” -> “Customize Emacs” -> “Specific Option” -> 输入 mardown-command

然后再文本框里输入预览快捷键C-c C-c p对应执行的命令(默认是markdown):

pandoc -f markdown -t html -s –mathjax –highlight-style pygments

为什么命令长这个样子?

  1. -f mardown -t html 表示把一个mardown文件输出为一个html文件,效果就是在默认浏览器打开一个网页进行预览markdown文件的内容
  2. --mathjax 支持LaTeX数学公式
  3. --highlight-stype pygments 使用pygments支持语法高亮

3. 最终效果

打开Emacs编辑一个markdown文件,按C-c C-c p直接在浏览器中预览markdown文件。

结语

终于可以优雅的写markdown文件了。还要再学一下markdown-mode的配置和Pandoc的参数,这样用起来会更顺手。我会把一些使用心得更新在这里。