org-mode を毎日使う

org-mode は良いツールであることに間違いないが、高機能すぎてやる気がおきなかったし、手を出したあと時間が経つとすっかり使い方を忘れていた。このところ、org-mode に関する情報が再びでてきた。 org-mode は何年かに一回ぐらい話題になっていたので、気になっていた。 この手のツールは、使い続けないと手に馴染まない。そこで、org-mode を毎日使うように習慣化することにした。

org-mode 以前

エンジンがかかるのが遅い性格なので、朝やることを HTML でチェックボックスにしていた。□になっているところはチェックボックスなので、クリックしたらチェックが付く。これを org-mode でやることにする。



朝やること

メール確認

作業時間チェック

PCデスクトップの上を片付ける

机の上を片付ける (ノートを広げて、ペンと消しゴムを出すまで)

サイボウズの予定を確認(今日やること、今後一週間やること)

Sunbirdの予定を確認(今日やること、今後一週間やること)

ノート残務確認

今日の予定をノートに書き込む

必要なファイルとフォルダを開く

仕事を一つ片付ける



org-mode を使って、毎日の習慣をチェック

自分のルールを決めてやってみる。以下、自分のルール

  1. 今のところ、メモを一つにまとめる (daily.org)
  2. 一日ごとに項目を追記する
  3. 週の終わりに、週の残務チェックと次の週の計画を立てる
  4. 朝やること、毎日やること、週ごとにやることを書く

メモ (daily.org) を全て折り畳んだ状態

* TODO 読書リスト...
* TODO 2010 年 年間計画...
* TODO 2 月第 4 週 週間計画...
* <2010-02-20 土>...
* TODO 2 月第 3 週 週間計画...
* <2010-02-19 金>...
* <2010-02-18 木>...
* <2010-02-17 水>...

一日ごとにエントリがあって、週ごとに分けている。


2010-02-21 を追記した状態。

* TODO 読書リスト...
* TODO 2010 年 年間計画...
* TODO 2 月第 4 週 週間計画...
* <2010-02-21 日>
** TODO
*** 朝ルーチン [/]							:WORK:
- [ ] メール確認
- [ ] 作業時間チェック
- [ ] PC デスクトップの上を片付ける
- [ ] 机の上を片付ける (ノートを広げて、ペンと消しゴムを出すまで)
- [ ] サイボウズの予定を確認(今日やること、今後一週間やること)
- [ ] Sunbird の予定を確認 (今日やること、今後一週間やること)
- [ ] 残務確認
- [ ] 今日の予定を書き込む
- [ ] 必要なファイルとフォルダを開く
- [ ] 仕事を一つ片付ける
*** 毎日ルーチン [/]
- [ ] 資格
- [ ] トレーニング (内容: )
- [ ] ストレッチ
- [ ] 英語
- [ ] Joe's Goal 更新
- [ ] 1:30 までに就寝
*** 日曜日 ルーチン [/]
- [ ] 資源ゴミ
- [ ] blog 更新
* <2010-02-20 土>...
* TODO 2 月第 3 週 週間計画...
* <2010-02-19 金>...
* <2010-02-18 木>...
* <2010-02-17 水>...

<2010-02-21 日> から始まる項目を追記している。朝ルーチンは朝やること、毎日ルーチンは習慣化したいこと、曜日ルーチンは毎週やることを書く。[ ] は org-mode のチェックボックスで、

* アイテム [/]
- [ ] サブアイテム1
- [ ] サブアイテム2
- [ ] サブアイテム3

という状態で、[ ] の中で C-c C-cすると

* アイテム [1/3]
- [X] サブアイテム1
- [ ] サブアイテム2
- [ ] サブアイテム3

となって、チェックと進捗度を展開してくれる。


毎日同じことを書くのは面倒なので、1 日の TODO を追記する my-insert-today-todo を用意しておく。

;; ---------------------------------------------------------
;; 今日の TODO 挿入関数
;; ---------------------------------------------------------
(setq my-morning-todo
"*** 朝ルーチン [/]							:WORK:
- [ ] メール確認
- [ ] 作業時間チェック
- [ ] 机の上を片付ける (ノートを広げて、ペンと消しゴムを出すまで)
- [ ] サイボウズの予定を確認(今日やること、今後一週間やること)
- [ ] Sunbird の予定を確認 (今日やること、今後一週間やること)
- [ ] 残務確認
- [ ] 今日の予定を書き込む
- [ ] 必要なファイルとフォルダを開く
- [ ] 仕事を一つ片付ける
")

(setq my-everyday-todo
"*** 毎日ルーチン [/]
- [ ] 資格
- [ ] トレーニング(内容: )
- [ ] ストレッチ
- [ ] 英語
- [ ] Joe's Goal 更新
- [ ] 1:30 までに就寝
")

(setq my-weekday-todo
      '(
"*** 日曜日 ルーチン [/]
- [ ] 資源ゴミ
- [ ] blog 更新
"
"*** 月曜日 ルーチン [/]
- [ ] 不要書類整理
"
"*** 火曜日 ルーチン [/]
- [ ] バックアップ確認
"
"*** 水曜日 ルーチン [/]
  - [ ] ゴミ出し
"
"*** 木曜日 ルーチン [/]
- [ ] ゴミ出し
"
"*** 金曜日 ルーチン [/]
- [ ] 週間レビュー(残務、来週スケジューリング)
"
"*** 土曜日 ルーチン [/]
- [ ] 掃除
- [ ] 洗濯
"
))

(defun my-insert-today-todo ()
  (interactive)
  (let (weekday)
    (setq weekday (format-time-string "%w" (current-time)))
    (insert-string
     (concat "* <"
             (format-time-string "%Y-%m-%d %a" (current-time))
             ">\n"
             "** TODO\n"
             my-morning-todo
             my-everyday-todo
             (nth (string-to-number
                   (format-time-string "%w" (current-time)))
                  my-weekday-todo)
             ))))

これでしばらく org-mode を使ってみるか。