lazytodo
lazytodo is a terminal todo manager for Markdown checkbox lists. It lets you navigate, toggle, and edit tasks inside a TUI powered by Bubble Tea.
It's inspired by Obsidian to work over a markdown file in your repo that you can check in.
Uses basic vim keybindings.
Install
Grab the latest binary release with the installer script:
curl -fsSL https://raw.githubusercontent.com/magdyksaleh/lazytodo/main/install.sh | shPass --version vX.Y.Z to lock to a specific tag or --install-dir for a custom destination.
Build from source
Run
# Run with a specific file ./lazytodo path/to/todo.md # Run without arguments - creates/opens todo.md in current directory ./lazytodo
If you run lazytodo without arguments, it will automatically create a todo.md file in the current directory if one doesn't already exist.
The application edits the file in place and supports both inline and external editing.
Key Bindings
j/kor arrows: NavigateSpace/Enter: Toggle task completion (works with visual selection)dd: Delete current tasku: Undo (10-level history)Ctrl+r: Redoe: Edit current task in external editor (vim or $EDITOR)i: Edit current task inlineo/O: Insert new task below/aboveV: Start visual line selectiong/G: Jump to first/last taskr: Reload fileq: Quit
Key Bindings (Edit Mode - inline with i)
Tab: Indent task (3 levels max)Shift+Tab: Unindent taskEnter: SaveEsc: Cancel
