UP | HOME

cheat sheet for org-journal

Table of Contents

Last modified: 20240120T2014+0900


業務日誌、研究日誌は、org-journalで付けよう。

いつでもどこでも、 C-c j で日誌を起動してメモを取ることができる。

1. org-journal-mode

org-journalを起動して日誌を書いている状態で、以下のキーが有効。

C-c C-f 次の日誌へ
C-c C-b 前の日誌へ
C-c C-j 現在のファイルに新しいエントリーを挿入
C-c C-s 検索

2. calendar-mode

org-journalの強みは、 M-x calendar で起動するemacsのcalendarと連携していること。calendarを起動してそのバッファに移動した状態で、以下のキーが有効。

j m カレンダーの中でカーソル位置の日誌をマークする
j r カーソルがある日付の日誌を新しいバッファで開き、そこにカーソルを移動する
j d 上と同じだがカーソルは移動しない
j n カーソルがある日付のファイル(なければ作成)に新しいエントリーを追加
j s w 今週を検索
j s m 今月を検索
j s y 今年を検索
j s f すべての日誌を検索
j s F 未来の日誌を検索
[ 前の日誌へ
] 後の日誌へ

3. 運用

2024年1月現在の運用。

デフォルトでは、

(setq org-journal-time-format "%R")
(setq org-journal-time-prefix "** ")  

となっていて、

** 13:20 秘密会議
会議の内容

のように、新しいエントリーが、第2レベルのヘッダーとして、時刻と共に作成される。しかし、業務日誌や研究日誌は、その日の終わりや、一段落したときに、振り返ってまとめて付けるものだから、この時刻は不要。また、必ずしもヘッダーは必要ないので、この二つの変数は両方とも空にする。

(setq org-journal-time-format "")
(setq org-journal-time-prefix "")  

その上で、日誌ファイルを、日常生活の記録、業務記録、研究記録の三つの部分に分け、それぞれについて記録する。やり方は、まず、次のような内容のテキストファイルを用意して、 org-journal-dir に置く。

** life

** work

** research

そして、このファイルを読み込む関数を次のように作成して、

(defun org-journal-date-format-func ()
"Custom function to journal date header"
(insert-file-contents "./template_for_daily")
)

ヘッダーが作られたときにこの関数が実行されるようにフックを設定する。

(add-hook 'org-journal-after-header-create-hook 'org-journal-date-format-func)  

こうすると、毎日、最初にエントリーを作成したときに、 template_for_daily が読み込まれた状態で、新しいファイルが作成される。(ただし、 org-journal-file-type'daily 。)

そうすると毎日のファイルは以下のような形式で蓄積されていく。

 * 20240119
 ** life
- オムレツを焼く
- 出勤。サミットで白身魚フライ海苔弁当を買う。
- Xに電話

 ** work
- 会議
- 書類提出
- 面談
    
 ** research
- あれやこれは
- なんだかんだ

時間があれば、 M-x calendar ( [F2]にバインドしている)でカレンダーを起動して、 [] で日付を行ったり来たりしながら過去の日誌を見直す。calendar-modeを参照

Date: 2023-12-29 Fri 10:05

Author: Yoshinori Ueeda

Created: 2024-01-20 Sat 20:14

Validate