Emacs Markdown Mode

Table of Contents

install markdown software tool

sudo apt-get install markdown

configure emacs

将下载的 markdown-mode.el 文件置于 Emacs 可找到的路径,在 .emacs 中添加:

(autoload 'markdown-mode "markdown-mode"
   "Major mode for editing Markdown files" t)
(add-to-list 'auto-mode-alist '("\\.text\\'" . markdown-mode))
(add-to-list 'auto-mode-alist '("\\.markdown\\'" . markdown-mode))
(add-to-list 'auto-mode-alist '("\\.md\\'" . markdown-mode))

Commands

C-c C-t n 插入 hash 样式的标题,其中 n 为 1~5,表示从第一级标题到第五级标题。
C-c C-t t 插入 underline 样式的标题,这是一级。
C-c C-t s 同上,这是二级。
C-c C-a l 插入链接,格式为 [text](url)。
C-c C-i i 插入图像,格式为 ![text](url)。
C-c C-s b 插入引用内容。
C-c C-s c 插入代码。
C-c C-p b 加粗。
C-c C-p i 斜体。
C-c - 插入水平线。

Preview

C-c C-c m 在当前缓冲运行 Markdown,并在另一个缓冲预览。
C-c C-c p 同上,但在浏览器中预览。
C-c C-c e: markdown-command > basename.html.
C-c C-c v: markdown-command > basename.html > browser.
C-c C-c w: markdown-command > kill ring.
C-c C-c o: markdown-open-command.
C-c C-c l: markdown-live-preview-mode > *eww* buffer.

More

Using yasnippets in markdown mode

If using markdown-mode yasnippets’s TAB completion doesn’t work, it’s just because TAB key is bind to markdown-cycle function.

;; This goes into my .emacs file
(defun markdown-unset-tab ()
  "markdown-mode-hook"
  (define-key markdown-mode-map (kbd "<tab>") nil))
(add-hook 'markdown-mode-hook '(lambda() (markdown-unset-tab)))

or

(add-hook 'markdown-mode-hook
          '(lambda ()
             (auto-complete-mode t)
             (local-unset-key [tab])
             (setq-local yas-fallback-behavior '(apply auto-complete))))

Author: Shi Shougang

Created: 2016-05-30 Mon 00:04

Emacs 24.3.1 (Org mode 8.2.10)

Validate