Emacs org-modeを使ってみる: (5) TODOリスト

このエントリーをはてなブックマークに追加

今回はTODOリストについて,使い方をまとめてみる.
なおUbuntu 8.04 LTSとEmacs22上で, org-6.34c (2010年1月10日リリース)の利用を前提にしている.

設定

(1) インストール」での設定に加えて,.emacs等の初期化ファイルに以下を追加する.

;; TODO状態
(setq org-todo-keywords
      '((sequence "TODO(t)" "WAIT(w)" "|" "DONE(d)" "SOMEDAY(s)")))
;; DONEの時刻を記録
(setq org-log-done 'time)

TODOの追加

以下のように,見出しの先頭に「TODO」と記述すれば良い.

* 第1回ORG会議
** TODO 資料準備

TODO状態の変更

ここでは以下のようにTODO状態を設定している(org-todo-keywordsの設定).各自の使い方に応じて変更して欲しい.

名前 意味
TODO 次に自分が何かのアクションを起こすべき状態
WAIT 他人によるアクションや状況の変化を待っている状態
DONE 処理が完了した状態
SOMEDAY すぐではないがいつか行うつもりの状態
なし いずれの状態でもない


なお,ファイル中に以下のように記述すれば,ファイル毎に利用するTODO状態の種類を変更できる.

#+TODO: TODO(t) WAIT(w) | DONE(d) SOMEDAY(s)

見出しの場所で「C-c C-t」をタイプすると, TODO状態を変更できる.
あるいは,見出しの場所で「S-RIGHT」をタイプすれば次の状態に変更され,「S-LEFT」をタイプすると前の状態に変更される.
たとえば「TODO」の行で「S-RIGHT」をタイプすると以下のように「WAIT」状態になる.

* 第1回ORG会議
** WAIT 資料準備

さらに「S-RIGHT」をタイプすると以下のように「DONE」状態になり,同時に現在のタイムスタンプが「CLOSED」の印と共に記録される(org-log-doneの設定).

* 第1回ORG会議
** DONE 資料準備
   CLOSED: [2010-02-07 日 00:00]

優先度の変更

優先度はAを最優先としてB, Cの3通りが設定できる.
見出しの行で「S-UP」をタイプすると,初期値として「B」が設定され,さらに「S-UP」をタイプすると「A」に変更される.

* 第1回ORG会議
** TODO [#A] 資料準備

見出しの行で「S-DOWN」をタイプすると,優先度を下げることができる.

タイムスタンプの設定

org-modeのタイムスタンプには,以下のような種類がある.

意味
<2010-02-07 日> 日付
<2010-02-07 日 13:00> 日付と時間
<2010-02-07 日 13:00-14:00> 日付と時間範囲
<2010-02-07 日>--<2010-02-10 水> 日付範囲

<2010-02-07 日>等ではなく,[2010-02-07 日] のように角カッコでくくると,アジェンダ等には表示されない非活性なタイムスタンプとなる.
タイムスタンプの前には,以下のようなキーワードを付ける場合がある.

キーワード 意味
DEADLINE アクションの締切り日
SCHEDULED アクションを行う予定日
CLOCK 計時用
なし 会議の開催日等の日程
日時の設定

年月日を入力するには,入力したい場所で「C-c .」とタイプする.すると,カレンダーが表示されるので,「S-矢印」で日を選択し,「RET」をタイプする.

* 第1回ORG会議 <2010-02-26 金>
** TODO [#A] 資料準備

年月日を変更したい場合は,タイムスタンプの場所で「C-c .」をタイプすれば良い.あるいは,タイムスタンプの場所で「S-矢印」により年月日を増減することもできる.
時間は直接入力するか,「C-u C-c .」で時間付きのタイムスタンプを入力した後,「S-矢印」で時刻を増減すれば良い.

* 第1回ORG会議 <2010-02-26 金 13:30>
** TODO [#A] 資料準備
締切り日(DEADLINE)の設定

アクションを行うべき最終的な締切り日(DEADLINE)を入力するには「C-c C-d」とタイプする.

* 第1回ORG会議 <2010-02-26 金 13:30>
** TODO [#A] 資料準備
   DEADLINE: <2010-02-25 木>
予定日(SCHEDULED)の設定

アクションを行う予定の日(SCHEDULED)を決めたら,「C-c C-s」とタイプし,予定日を入力する.

* 第1回ORG会議 <2010-02-26 金 13:30>
** TODO [#A] 資料準備
   DEADLINE: <2010-02-25 木> SCHEDULED: <2010-02-22 月>

「SCHEDULED」キーワードは,自分がアクションを行う日に対して用いるのであって,会議の開催日などに用いるものではない.

主なキーバインドのまとめ

キー 処理
C-c C-t TODO状態を変更
S-RIGHT TODO状態を次の状態にする
S-LEFT TODO状態を前の状態にする
S-DOWN 優先度を下げる
S-UP 優先度を上げる
C-c . 日の入力
C-u C-c . 日時の入力
C-c C-d 締切り日(DEADLINE)の設定
C-c C-s 予定日(SCHEDULED)の設定
C-c C-v TODOのスパース木表示
タイムスタンプ
キー 処理
S-RIGHT 次の日
S-LEFT 前の日
S-DOWN 年月日時分を減らす
S-UP 年月日時分を増やす
カレンダー
キー 処理
S-RIGHT 次の日
S-LEFT 前の日
S-DOWN 次の週
S-UP 前の週
> 次の月
< 前の月