Table of Contents

Markdown layer

Table of ContentsClose


1. Description

This layer adds markdown support to Spacemacs.

1.1. Features:

2. BibTeX

For more extensive support of references with BibTeX files, have a look at the BibTeX layer.

3. Install

To use this configuration layer, add it to your ~/.spacemacs. You will need to add markdown to the existing dotspacemacs-configuration-layers list in this file.

4. Configuration

4.1. Live preview

A live preview can be generated when one of these executables are in path:

  • markdown
  • pandoc
  • markdown_py

A well-knowned markdown command is from Or follow pandoc installation instructions to install pandoc into path:

Another choice is installing Python-Markdown:

pip install --user Markdown

If your markdown executable is not in the list, please refer the document of markdown-mode for customizing the markdown-command.

By default the built-in Emacs web browser is used to live preview a markdown buffer.

To use vmd (GitHub-flavored live preview) instead set the value of the variable markdown-live-preview-engine to vmd:

dotspacemacs-configuration-layers '(
  (markdown :variables markdown-live-preview-engine 'vmd))

And install the executable with:

npm install -g vmd

Additionally there is flymd package in chrome layer that allows to preview markdown buffer in Chrome. Please refer to chrome layer documentation for more information.

5. Usage

5.1. Generate a TOC

To generate a table of contents type on top of the buffer: SPC SPC markdown-toc-generate-toc RET

6. Key bindings

6.1. Element insertion

Key binding Description
SPC m - insert horizontal line
SPC m h i insert header dwim
SPC m h I insert header setext dwim
SPC m h 1 insert header atx 1
SPC m h 2 insert header atx 2
SPC m h 3 insert header atx 3
SPC m h 4 insert header atx 4
SPC m h 5 insert header atx 5
SPC m h 6 insert header atx 6
SPC m h ! insert header setext 1
SPC m h @ insert header setext 2
SPC m i l insert link
SPC m i u insert uri
SPC m i f insert footnote
SPC m i w insert wiki link
SPC m i i insert image
SPC m i t insert Table of Contents (toc)
SPC m i T insert general markdown table
SPC m x b make region bold or insert bold
SPC m x B insert gfm checkbox
SPC m x i make region italic or insert italic
SPC m x c make region code or insert code
SPC m x C make region code or insert code (GitHub Flavored Markdown format)
SPC m x k make region <kbd> element or insert <kbd> element
SPC m x q make region blockquote or insert blockquote
SPC m x Q blockquote region
SPC m x p make region or insert pre
SPC m x P pre region
SPC m x s make region striked through or insert strikethrough

6.2. Element removal

Key binding Description
SPC m k kill thing at point

6.3. Table manipulation

Key binding Description
SPC m t a align table
SPC m t p move row up
SPC m t n move row down
SPC m t f move column right
SPC m t b move column left
SPC m t r insert row
SPC m t R delete row
SPC m t c insert column
SPC m t C delete column
SPC m t s sort lines
SPC m t t transpose table
SPC m t d convert region to table

6.4. Completion

Key binding Description
SPC m ] complete

6.5. Following and Jumping

Key binding Description
SPC m o follow thing at point
RET jump (markdown-do)

6.6. Indentation

Key binding Description
SPC m > indent region
SPC m < outdent region

6.7. Header navigation

Key binding Description
gj outline forward same level
gk outline backward same level
gh outline up one level
gl outline next visible heading

6.8. Buffer-wide commands

Key binding Description
SPC m c ] complete buffer
SPC m c m other window
SPC m c p preview
SPC m c P live preview using engine defined with layer variable markdown-live-preview-engine
SPC m c e export
SPC m c v export and preview
SPC m c o open
SPC m c w kill ring save
SPC m c c check refs
SPC m c n cleanup list numbers
SPC m c r render buffer

6.9. List editing

Key binding Description
SPC m l i insert list item

6.10. Movement

Key binding Description
SPC m { backward paragraph
SPC m } forward paragraph
SPC m N next link
SPC m P previous link

6.11. Promotion, Demotion

Key binding Command
M-k or M-up markdown-move-up
M-j or M-down markdown-move-down
M-h or M-left markdown-promote
M-l or M-right markdown-demote

6.12. Toggles

Key binding Description
SPC m T i toggle inline images
SPC m T l toggle hidden urls
SPC m T m toggle markup hiding
SPC m T t toggle checkbox
SPC m T w toggle wiki links

Author: root

Created: 2024-07-23 Tue 17:37