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を参照