EmacsでMarkdownを編集する

Emacsのmarkdown編集用メジャーモードに、 markdown-modeがあります。
基本的には、markdown-modeがあればある程度完結するのですが、アウトライン操作を強化するには outline-magicを追加すると便利です。

キーバインド

Markdown特有の編集操作のうち、主なキーバインドには以下のようなものがあります。

  • C-c C-o (markdown-follow-thing-at-point)
    • カーソル上のリンク先ファイルを開く。
  • Tab (outline-cycle)
    • 見出しアウトラインの折り畳み/展開切り替え。3モードを循環する挙動
    • 折り畳み状態で行カット操作すると、サブツリー一式を選択する
  • Shift-Tab (outline-cycle)
    • バッファ全体を対象とするアウトラインの折り畳み/展開切り替え。3モードを循環する挙動
  • M-方向キー
    • 左右は見出しやリストのレベル増減。上下はリストの項目移動

markdown間のリンクをたどれるため、 ハイパーテキスト構造を作れます。

Tab/Shift-TabやM-方向キーは、outline-magicが提供している機能で、アウトラインエディタとして活用したい場合に必須と言えます。
Org-modeと同様のキーバインドを提供するものです。

markdown-mode単体でもoutline-miner-modeが有効になるため、一応のアウトライン機能はあるのですがトグル操作を提供していないため、キーバインドで補うには不足を感じます。

このほか、markdown-modeにはテーブル操作などのコマンドがあり、 リファレンスに掲載されています。

SpacemacsのMarkdownLayer

Spacemacsは Markdown Layerを提供しており、けっきょくはmarkdown-modeが入るためこちらを利用する手もあります。

数多くのキーバインドがSpacemacs流に定義されているため、その必要性に応じて選択すると良いでしょう。

中馬崇尋
Chuma Takahiro