A lightweight Vimscript plugin to manage project/file-scoped todos inside a single ~/todo.md file.
-
Keeps all todos in one markdown file at
~/todo.md -
Organizes todos under headings for project directories and individual files
-
Opens a floating popup window showing only the relevant section for your current buffer or directory
-
Interactive:
- In normal mode inside the popup → use
j/kto move,<CR>to toggle checkboxes (- [ ]↔- [x]) - In insert mode → write new todos as markdown list items
- In normal mode inside the popup → use
-
Updates
~/todo.mdautomatically
# ~/Coding/tivOS
- [ ] fix everything
# ~/Coding/tivOS/networking/socket.c
- [ ] fix just this fileUse your favorite plugin manager, e.g. with vim-plug:
Plug 'saltytine/todo-by-file'(or just drop todo-by-file.vim into ~/.vim/plugin/)
-
Open a file (e.g.
~/Coding/tivOS/networking/socket.c) -
Type
:Todo- The popup will show todos for that file (
:Todorwill show the todos for your current directory)
- The popup will show todos for that file (
-
In the popup:
o→ add a new todo by typing- [ ] ...<CR>→ toggle todo checkbox under cursorq→ close the popup and write back to~/todo.md
- The todo file is just markdown, so you can edit it directly if you want.
- Works with plain Vim 8.2+ (no Neovim needed).