概要
- {neo,}vim、coreutils、dateutilsを使った プレーンテキストジャーナルシステム の紹介
- Ryder Carollの Bullet Journal 方式を参考にした月単位・週単位管理
- 記号(シグニファイア) と Vimの自動化 による効率的整理
- シンタックスハイライト や 集計スクリプト による視認性・分析強化
- 日付操作や 複数月同時表示 のコマンド例も解説
Vim・coreutils・dateutilsで作るBullet Journal風ジャーナルシステム
- ジャーナルは 年ごとのディレクトリ、各年は 月ごとのファイル で管理
- 例:
journal/2023/01、journal/2023/02など
- 例:
- 月初めに カレンダー を挿入(
:read !cal -mコマンド活用) - 週単位でタスク管理、各週は見出し+各項目を1行ずつ記述
タスク記号(シグニファイア)の工夫
- タスクの状態や種類ごとに 記号 を使い分け
·(U+00B7): todo(未完了タスク)×(U+00D7): done(完了タスク)o: event(イベント)-: note(メモ)>: moved(移動)
- Vimの abbreviation機能 で記号入力を自動化
- 例:
:iabbrev todo ·でtodoと入力→自動で·に変換
- 例:
タスクの グループ化・ソート
- タスクを 記号ごとにグループ化・並べ替え
- 範囲選択(
vip)→:sortコマンドで整列 :set formatprg=sort\ -V設定でgqipショートカットも可能
- 範囲選択(
- 記号のUnicode値を活用し todoが上、doneが下 など好みの並び順に調整
シンタックスハイライトで 視覚的な区別
- 各記号ごとに Vimのsyntax match でグループ化
- 例:
:syntax match JournalDone /^×.*/
- 例:
:highlightコマンドで 色分け (例:doneはグレー、eventはシアン、noteは黄色)
習慣トラッキング・集計
- 週ごとに 習慣ヘッダー や 支出記録 を記述
- awkスクリプト で月間支出などを自動集計
- 例:
awk -f spend.awk journal/2023/01で合計金額表示
- 例:
振り返り・複数月同時表示
- 複数月のファイルを同時に開く ことで、過去の記録を参照しながら計画
- 例:
vim -O journal/2023/0{1,2,3}で1月~3月を縦分割表示
- 例:
日付コマンドによる 効率化
- 現在月のファイルを自動で開く:
vim $(date +"%Y/%m") - 2ヶ月前~2ヶ月後の月を一括表示:
vim -O $( dateseq "$(date --date "2 months ago" +%Y/%m)" "$(date --date "2 months" +%Y/%m)" -i %Y/%m -f %Y/%m )
- dateutilsの dateseq コマンドで日付範囲を柔軟に指定
カスタマイズ・運用例
- サンプルvimrcやnix flakeファイルも リポジトリ で提供
- 例:
git clone https://tangled.sh/@oppi.li/journal
- 例:
- ASCIIアート や好みの記号、派手なハイライトで個性も演出可能
注意点・所感
- org-modeユーザー からの理解は期待しないこと
- プレーンテキストでも 紙の手帳に負けない楽しさ と柔軟性
- 自己流カスタマイズ で日々の記録がより快適に
まとめ
- Vim、coreutils、dateutilsを活用した Bullet Journal風ジャーナル運用法
- 記号・自動化・色分け で見やすく管理
- 集計や複数月表示 もシェルコマンドで効率化
- プレーンテキストならではの 自由度 と 拡張性