spacemacs/layers/+lang/markdown
Miciah Masters ef6e45f30e markdown: Update key bindings for Markdown Mode 2.3
Update key bindings to reflect some changes in Markdown Mode 2.3:

* markdown-exdent-region was renamed to markdown-outdent-region.
* markdown-insert-reference-image (SPC m i I) was folded
  into markdown-insert-image (SPC m i i).
* markdown-insert-inline-link-dwim (SPC m i l) and
  markdown-insert-reference-link-dwim (SPC m i L)
  were replaced by markdown-insert-link (SPC m i l).
* markdown-toggle-markup-hiding (SPC m t m) was added.
* markdown-jump (SPC m RET) was replaced by markdown-do (same).

Note that the documentation listed an incorrect key binding for
markdown-jump; this has been corrected.

* layers/+lang/markdown/packages.el (markdown/init-markdown-mode):
* layers/+lang/markdown/README.org: Update key bindings.
2018-07-27 00:50:17 +03:00
..
img Use + instead of ! for layer categories 2015-09-11 00:13:51 -04:00
config.el Happy New Year 2018! 2018-01-04 02:00:25 -05:00
funcs.el Use dotspacemacs backward compatibility macro instead of aliases 2018-06-08 02:24:38 -04:00
packages.el markdown: Update key bindings for Markdown Mode 2.3 2018-07-27 00:50:17 +03:00
README.org markdown: Update key bindings for Markdown Mode 2.3 2018-07-27 00:50:17 +03:00

Markdown layer

/TakeV/spacemacs/media/commit/875d4a6afc0cc11609ca5e49b255ef8e90c45784/layers/+lang/markdown/img/markdown.png

Description

This layer adds markdown support to Spacemacs.

Features:

  • markdown files support via markdown-mode
  • Fast Github-flavored live preview via vmd-mode
  • TOC generation via markdown-toc
  • Completion of Emojis using company-emoji (still needs a way of showing, either using the emoji layer or having a proper font) 👏

BibTeX

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

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.

Configuration

Live preview

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.

Automatic MMM-Mode Generation

To generate MMM-Modes for languages set the value of the variable markdown-mmm-auto-modes to a list of the languages. For languages where the mode name directly relates to the language name, use a string. Otherwise, use a list of `("language" "mode")`:

  dotspacemacs-configuration-layers '(
    (markdown :variables markdown-mmm-auto-modes '("c" "c++" "python" "scala" ("elisp" "emacs-lisp"))

Note: Spacemacs already defines the variable markdown-mmm-auto-modes to a bunch of languages. Consider opening a PR on the Spacemacs repository to add new languages instead of overriding the variable in your dotfile.

Usage

Generate a TOC

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

Key bindings

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 x b make region bold or insert bold
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 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

Element removal

Key Binding Description
SPC m k kill thing at point

Completion

Key Binding Description
SPC m ] complete

Following and Jumping

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

Indentation

Key Binding Description
SPC m \> indent region
SPC m \< outdent region

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

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

List editing

Key Binding Description
SPC m l i insert list item

Movement

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

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

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