Geek-Side

Resource > gtd_with_org-mode
ORG-MODEを使ってGTD(Getting Things Done)を実践する方法についてまとめました。
GTDの解釈やORG-MODEの新機能により今後も進化する予定です。

以下がOrgモードで管理しているファイルの例です。
 * 引越し
 ** バイクの廃車
 *** TODO 業者を選定
 ** 住所変更

 * Tech
 ** Org-Mode
 *** TODO 新バージョンをダウンロード

 ** Wicket
 *** TODO Pro Wicket読破

 * Gentoo翻訳
 ** HandBook翻訳
 *** TODO 翻訳対象をダウンロード
このように
階層 内容
第一階層 大分類
第二階層 プロジェクト
第三階層 次にやるべきこと(NextAction)
という風に記述するようにしています。

設定

私はTODOを カテゴリ、TODOの種類、場所によって分類しています。
この分け方はORG-MODEととっても親和性が高いです。
これらの分類を行うのために設定を行います。

todo

タスクの種類として 「待ち:Wait」を追加するため、.emacs に以下の設定を行います。

 (setq org-todo-keywords '("TODO" "Wait" "DONE")
      org-todo-interpretation 'sequence)
これにより、 C-c C-t を実行すると、TODO -> Wait -> Done
の順にTODOの種類が変わります。

Stuck Project

各プロジェクトでNextActionが設定されていないものを抽出してくれる機能です。 C-c a # で表示されます。
設定は以下のようにしています。
     (setq org-stuck-projects
          '("+LEVEL=2" ("TODO" "Wait") ("Someday "Material" "Schedule")))

「”Someday”,”Material”,”Schedule”以外のタグで、”TODO”,”Wait”のタスクがその下に存在しない、第2階層のタスクを抽出」という設定です。つまり、第3階層以降にTODOがないと、次にやるべきこと(NextAction)が設定されていないとみなされます。
上記リストの最初の部分を例に用いると、
 * 引越し
 ** バイクの廃車
 *** TODO 業者を選定
 ** 住所変更

「住所変更」にはNextActionが設定されていないとみなされ、C-c a # を実行すると抽出されます。

カテゴリ

TODOをカテゴリ分けすると、agendaビュー(C-c a)で見たときに便利です。
例えば、「引越し」、「Tech」、「Gentoo翻訳」で分ける場合、
 #+CATEGORY: <span class="me1">Move</span>
 ** バイクの廃車
 *** TODO 業者を選定
 ** 住所変更
 
 * Tech
 #+CATEGORY: <span class="me1">Tech</span>
 ** Org-Mode
 *** TODO 新バージョンをダウンロード
 
 ** Wicket
 *** TODO Pro Wicket読破
 
 * Gentoo翻訳
 #+CATEGORY: <span class="me1">Translation</span>
 ** HandBook翻訳
 *** TODO 翻訳対象をダウンロード</pre>

ファイルの分割

私は大分類より大きな単位として、ファイルを分割しています。 ファイルを分けるとagendaビューもファイル毎になってしまいますが、 複数のファイルからagendaビューを生成するようにすることができます。
これにより複数ファイルに分かれていても、agendaビューを便利に使うことができます。
複数ファイルをagendaに追加する方法はそれぞれのファイルを表示して C-[ を実行します。

GTDの流れとORG-MODEの操作

GTDの日々の流れと具体的なORG-MODEの操作です。

週次レビュー

GTDで最も大切とされる週次レビュー。
  • 思いついたタスクをファイル inbox.orgに全て書き出します。
  • 期限内にやらなければならない事にはdead lineを付けます。 (C-c C-d)
  • 飲み会等、予定にはScheduleタグを付けます。 (C-c C-s)
  • 各タスクにNextActionを追加します。アウトラインで一段階層を下げて記述し、TODOをつけます。(C-c C-t)
  • 見出しの追加 (M-RET)
  • 階層の操作 (M-Right M-Left)
  • NextActionの検査 (C-c a #)
  • 直近ではやらないが、そのうちやるものは Somedayタグをつけます。(C-c C-c)
  • 資料として残したいものは Materialタグをつけます。(C-c C-c)
  • NextActionがついていないものをチェックします。(C-c a #)
  • 各タスクをファイルに分類する。ウィンドウを2分割にして記述すると便利です。
  • ウィンドウの2分割 (C-x 2)
  • ウィンドウの移動 (C-x o)
  • Agendaに追加したファイルのサイクル (C-,)
  • どこでやるのかはタグで管理します。例えば 家でするタスクは Homeタグ、PCでするタスクは PCタグ、外出してするタスクはOutタグ等。
  • タグをつける (C-c C-c)
  • 終了したタスクには Done をつけ、アーカイブファイルへ移動します。
  • タスクのサイクル (C-c C-t)
  • アーカイブファイルへ移動 (C-c $)
  • アーカイブファイル名はデフォルトでは、[ファイル名]_archive.orgとなります。

日次レビュー

  • NextActionの一覧を表示します。
  • 今日やるタスクに今日付のDeadLineを付けていきます。

TODOのview

  • 今日やることには今日付のDeadLineがついているので、今週の予定でみることができます (C-c a a)
  • タスクの記述されているファイルへ移動するには、agendaモードで該当のタスクにカーソルを合わせ、Space 又は Tab を押せばそのタスクが記述されたファイルに飛ぶことができます。
  • ある場所でしかできないことにはタグにより判別できます。場所でタスクを検索するには、C-c a m を実行後、検索するタグを入力します。