Use yasnippet for personal planning

Published on Feb 19, 2022, by Junji Zhi

yasnippet is great for coding. It allows you to set up abbreviations and get the editor to expand to the full code.

For example, when editing Javascript code, I type clo and press TAB, it would expand to:

console.log("object >>>", object)

and then prompt me to type the object that I want to inspect.

This functionality is handy in managing personal planning templates, too!

For example, I'm trying out Cal Newport's weekly planning method. For that, I have the following snippet:

# -*- mode: snippet -*-
# name: my weekly plan template
# key: <wp
# --

* w$0
** Meta

** Work

** Side projects

** Health / Friends / Family

* Summary & Metrics

When planning for next week, I would create new org file, e.g.,, and then invoke M-x yas-insert-template, select my weekly planning template, and start filling up the content.

Note: I rarely use the <wp shorthand. That's because I never remember it. All I remember is , I have a planning template in yasnippet, and now I just insert it. The next move is just to invoke the right M-x command.

The template has nothing fancy: just some org-mode headings to remind some important buckets of my life.

What's more important is, my template is plaintext and version controlled in Git, which allows to change and iterate on it as I grow.

And it works wonders for me.