Emacs

markdown-modeで折りたたみ

More than 1 year has passed since last update.

はじめに

markdown-modeには、org-modeのような、セクションごとの折りたたみ機能がついています。

しかし、折りたたみに使用する関数(markdown-cycle)は、デフォルトではタブキーにバインドされており、グローバルなキーバインドと重複していて気が付きませんでした。
(私の場合、タブキーはindent-according-to-modeに割り当てていました)

そのせいで、markdown-modeってorg-modeよりだいぶ使いにくなーと思ってしまっていました。それでちょっと調べた結果を記しておきます。

折りたたみの関数とキーバインド

関数 説明 デフォルトキーバインド
markdown-cycle Visibility cycling for Markdown mode. Tab
markdown-shifttab Global visibility cycling.Calls ‘markdown-cycle’ with argument t. Shift-Tab

設定

最終的に、markdown-mode-mapに明示的に割り当てるようにしました。ついでに、次の見出しに飛ぶ設定もいれました。

(use-package markdown-mode
  :init
  (bind-keys :map markdown-mode-map
             ("<Tab>" . markdown-cycle)
             ("<S-tab>" . markdown-shifttab)
             ("C-M-n" . outline-next-visible-heading)
             ("C-M-p" . outline-previous-visible-heading)))