Edited at

Atomでアウトライン表示可能なreStructuredTextとmarkdownの編集環境をつくる

More than 1 year has passed since last update.

reStructuredTextやmarkdownを使ってドキュメントを書くときに、分量が増えてくると、全体を見渡せるように、アウトラインを表示するための機能が欲しくなります。

vimやemacsにはこれらのための拡張機能がありますが、筆者の場合、プログラミングに使うエディタはviですが、実体がnviでなくvimの場合、vimの拡張部分が肌に合わないため、set compatibleして使っているクチなので、vim拡張は避けたくあります。かといってemacsは、使うのをやめてからもう二十年近くになるため、どちらも敷居が高いのです。

日本語テキストを書く場合には、viではモーダルなおかげで日本語入力の切り替えにいろいろと辛いところがあるため、テキストエディタほかものもでもかまいません。ただ、下書きではどのようなエディタでもよいのですが、

見かけに関わる部分について、修正をするときは、プレビューをしながらとなります。

いままでは、これらの作業には、markdownテキストの時は Textsを、reStructuredTextのときはReTextを使用していました。この二つは、プレビューもついてはかなりレスポンスがよいのですが、テキストエディタとしての機能がかなり劣り、とくに検索や置換が不自由です。そして冒頭で書いたように、文章の分量が増えてくると、全体を見渡せるように、アウトラインを表示するための機能が欲しくなります。

というわけで、いくつかのエディタを試して検討していたところ、ひとまず下記のような環境に落ち着きました。


  • エディタ Atom

  • reStructuredText の Syntax highlight に language-restructuredtext を追加

  • reStructuredText のプレビューに rst-preview を追加

  • markdown のプレビューに markdown-preview-plus を追加

  • アウトライン表示に document-outline を追加

document-outline は reStructuredText に対応していませんでした、簡単な修正で対応できました。

またmarkdownのSetext-styleの見出しについても、簡単な修正で対応できました。

これらの修正点については作者にプルリクエストを送ってありましたが、先日めでたくマージされたため、次のリリースでは反映されていると思われます。

(2017/4/11 追記)

document-outline 1.2.0 がリリースされています。

reStructuredText 対応、markdownのSetext-styleの見出し対応になりました。

(追記ここまで)

rst-previewはプレビューにpandocを使用してHTMLに変換しているため、Sphinxの入力にするreStructuredTextのようにroleを使用しているケースでは、変換できない部分が出てきますが、これはmake htmlしてブラウザで確認するようにしています。