Developer's Blog

生活のすべてを管理できる超強力ツール Org-mode

Fenrir Advent Calendar 2014

こんにちは。金内です。

いよいよ始まりました Fenrir Advent Calendar 「2014年にグッときたコレ」の1日目の記事です。

私の「2014年にグッときたコレ」は、私が GTD(Getting Things Done)的なシステムとしてあらゆる物事の管理に使っているツール 「Org-mode」です。

Org-mode 自体は今年知ったとかではなく、ずいぶん長いこと使っています。ただ、今年はいろいろと新しいことに取り組んだりして、本当にコレなしでは考えられない1年となりました。今回、グッときたモノをあれこれ思案した結果「この機に愛する Org-mode を紹介してしまうしかない!!」ということで紹介してしまいます。

Org-mode って何?

Org-mode はこんなことに使えるツールです。

  • 考えを整理するために項目をツリー状に書き出して、各項目を自在に編集・移動できるアウトラインプロセッサ。
  • タスクの状態や期限・繰り返しを設定などを細かく指定できるタスク管理ツール。
  • 気付いたことなどを即座にメモして記録できる日誌/ライフログツール。
  • 見出しやリスト、表などを含むドキュメントをプレインテキストで記述して、HTML や LaTeX、Markdown などの形式で出力するワードプロセッサ。

考えを整理してタスクに落とし込み、その実行を管理しつつ、思いついたことを都度メモし、必要ならドキュメントとして整形できたら、いろんなことが捗りそうですよね。

どうですか? グッときませんか?

私は家賃の振り込み予定も仕事での提出物の期限も子供の誕生日プレゼントの検討もすべて Org-mode でこなしています。まさに生活のすべてを管理しているといっても過言ではありません。

そしてその正体は?

Org-mode の “mode” という名前から気付いた人もいるかと思いますが、上記の機能はすべてテキストエディタ GNU Emacs の拡張機能(メジャーモード)である Org-mode として実現されています。つまり、すべてはテキストエディタ(Emacs)の中で利用しますし、複雑なデータファイルではなく、あらゆるツールで読み書きできるプレインテキストを編集するだけの操作です。

GNU Emacs Splash Screen

どうやって使うの?

最近の Emacs は Org-mode を内蔵しているので、Emacs が手元にある方なら “sample.org” のように “.org” の拡張子がついたファイルを開けば Org-mode が起動します。

Emacs が手元にない方は、いますぐダウンロードしてインストールしましょう! うれしいことに Emacs は Mac でも Windows でも Linux でもばっちり動作します。私自身は Mac がメインなので、Emacs mac port を使っています。素の Emacs よりも Mac 上での動作を改善してあり、個人的におすすめです。

https://github.com/railwaycat/emacs-mac-port/wiki/Downloads

考えを整理するのに使ってみる

さっそく Org-mode を試してみます。まずはあれこれと考えを書き出して整理するのに使ってみます。

Org-mode では “*”(アスタリスク) ではじまる行が項目のタイトルとなります。いくつか項目を入れてみましょう。

思いつくままに書いていけば、深さや上下関係はあとから自在に変更できます。一部の項目を折り畳んで非表示にもできます。このように、項目をツリー状に並べて整理する機能は一般に「アウトラインプロセッサ」と呼ばれていて、Microsoft Word などにもあります。考えを整理したり、ドキュメントの骨格を作っていく場合などに重宝します。

Org-mode as outline processor

タスク管理に使ってみる

考えを書き出していたら、その中にやらなければならないタスクが出てきたとしましょう。Org-mode ではキー操作で項目に TODO キーワードを追加して、タスクとして扱えるようになります。さらに各タスクごとに、予定日や締め切りや繰り返しを設定できます。終わったら DONE になります。

Org-mode tasks

とはいえ、タスクがアウトラインの中に散らばっていては、いつ何をすればいいのか探すのが大変です。そこで登場するのが「アジェンダ(org-agenda)」です。

アジェンダを呼び出せば、ファイルの中からタスクと期限などを抽出して、日ごとに分けて見せてくれます。これでもう「ああ、忘れてたー!」という残念な事態とはおさらばです。

Org-mode Agenda View

アジェンダを使えば、複数ファイルに分かれているタスクもすべてまとめて抽出して把握できます。

メモに使ってみる

メモに使うときは org-capture という機能を使います。別の作業をしているときでも、設定したキーバインドで呼び出せば、メモを書くモードを呼び出せます。メモのテンプレートに日付を入れたりなども自由に指定できます。

Org-mode capture

保存すると、あらかじめ指定したファイルの指定した位置に追記されます。もちろん Org-mode のアウトラインのフォーマットになっています。

Org-mode journal file sample

ドキュメントを書いてみる

Org-mode をアウトラインプロセッサとして使ってドキュメントの骨格をまとめたら、そのまま具体的に本文を書いていけます。

Org-mode document

書き上がったら、Org-mode のエクスポート機能を呼び出して、このとおり。

Org-mode HTML export

キレイな HTML ドキュメントになりました。目次までついています。この他にも、Markdown や LaTeX、メールに便利なプレインテキストにも出力できてしまいます。下はプレインテキストにした例です。見出しもついててグッときます。

Org-mode export Plain Text

Org-mode のために Emacs を使うのもアリ

Org-mode は数ある Emacs 拡張の中でも屈指の大規模、高機能なパッケージです。ここで紹介した機能はごくごく一部で、他にもタスクの時間を計測したり、表を書いてさらにそのセルに数式を設定して表計算したり、カレンダーと連携してスケジュール管理したりなど、本当にたくさんの機能があります。

聞くところによれば、あまりに強力な Org-mode を使うために Emacs を始めた人もいるそうです。Emacs は敷居が高いと言われますが、たしかにそんな人がいても不思議ではないくらいの魅力が Org-mode にはあります。

多くのユーザーと開発者に支えられて現在も進化を続ける Org-mode、今年のあれこれを振り返ったり整理したりするのに利用してみてはいかがでしょうか?

参考リンク

Org-mode にグッときた、もしくはグッときそうな予感のする方は、下記のリンクなどを参考にしてぜひ試してみてください。

フェンリルのオフィシャル Twitter アカウントでは、フェンリルプロダクトの最新情報などをつぶやいています。よろしければフォローしてください!

Copyright © 2018 Fenrir Inc. All rights reserved.