I cobbled together a journaling system with {neo,}vim, coreutils and dateutils. This system is loosely based on Ryder Caroll's Bullet Journal method. The format The journal for a given year is a directory: λ ls journal/ 2022/ 2023/ In each directory are 12 files, one for each month of the year, numbered like so: λ ls journal/2023/ 01 02 03 04 05 06 07 08 09 10 11 12 We can now begin writing stuff down: λ vim journal/2023/1 Every month must start with a calendar of course, fill that in with: :read !cal -m Your entry for January might look like this: λ cat journal/2023/01 January 2023 Mo Tu We Th Fr Sa Su 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 I prefer planning week by week, as opposed to creating a task-list every day, here's what I have for the first couple of weeks: January 2023 Mo Tu We Th Fr Sa Su 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 week 1 done apply leaves done dload boarding pass moved reply to dan week 2 todo reply to dan todo pack bags done travel insurance todo weigh luggage I start the week by writing a header and each item that week is placed on its own line. The items are prefixed with a todo or a done signifier. Form over function Right off the bat, the signifiers look very noisy, Even more so once we start introducing variety (I use "event", "note" and "moved"): week 1 todo apply leaves done dload boarding pass todo reply to dan event fr trip note weight 68.6 We can clean this up with "abbreviations" (:h abbreviations): :iabbrev todo · :iabbrev done × Now, typing this: todo apply leaves Automatically inserts: · apply leaves You can use x and o as well, but × (U+00D7, MULTIPLICATION SIGN) and · (U+00B7, MIDDLE DOT) are more ... gourmet. The other signifiers I use are: - for note o for event > for moved. Nit #2 is the lack of order. We can employ vim to introduce grouping and sorting. Select the list of entries for this week: vip " line-wise select inner paragraph...
First seen: 2025-08-12 21:55
Last seen: 2025-08-13 17:05