← back
complete

Re-Zero Neovim Plugin

An implementation of Mark Forster's Resistance Zero Productivity system.

Explanation

1Write out a list of things to do.
2Scan the list backwards and mark tasks with no resistance.
3Take action on the marked tasked from the end of the marked list.
4Repeat the first three steps.

Why It Works

Mr. Forster's system suggests a quick scan of all the tasks while still contemplating taking action on each one.

As the review process iterates, the skipped reviewed tasks lose resistance and will eventually become marked.

"I found that I got better results having the older slower moving tasks at the end of the scan, rather than at the beginning."
— Mark Forster

This psycological though process also applies to acting on tasks starting from the end of the list.

Bindings

Commands

:ReZeroOpen (or create) today's todo list
:ReZeroReviewEnter review mode
:ReZeroUpdateRun the daily check, archiving finished tasks

Keymaps

<leader>ttnSave and open the todo list
<CR>nMark the task under the cursor as finished
<leader>tdnAdd a new task to the pending list
<leader>trnEnter review mode
<leader>tunRun the daily check
<CR>iSmart enter — continues the current list or header
onSmart o — continues the current list or header

Review Mode

hSome resistance — prompts for a subtask
jNo resistance — moves the task to active
kCompleted — moves the task to finished
uUndo the last action

Subtask System

Prompts a smaller subtask any time a task has some resistance, filtering it back into the pending list alongside its parent task.

Review Mode

A floating buffer displays pending tasks one at a time in reverse order — some resistance, no resistance, complete, or undo.

Daily Archive

Archives a snapshot of todo.md at the end of every day, updates the date, and wipes the finished list clean.

Smart Enter

Pressing Enter or o creates a new task bullet exactly where you'd expect, inspired by Notion, VimWiki, and Org Mode.

File Format

todo.md by default

todo.md is auto-populated with these four headers on first open

TODO DateThe first line populates with the current date, referenced on every daily check.
Active ListTasks with zero resistance. Work through them top to bottom.
Pending ListNew or not-yet-triaged tasks, entered or reviewed at any time.
Finished ListCompleted tasks. Wiped clean at the start of each new day.

Installation

Neovim v0.12+|v0.9+ should work

Lazy:Lazy sync
Vim packages
Packer:PackerSync (or :PackerInstall)
Vim-Plug:PlugInstall

Notes