tdo.nvim integrates tdo into your neovim workflow to make managing notes and todos super simple and fast. Demo video
- All features provided by tdo
- Various commands to make working with tdo seamless
- Todo navigation and toggle helpers
- Integration with telescope for easy notes searching
- neovim
- tdo
- telescope.nvim
Add the following to your lazy/packer config
-- Lazy
{
'2kabhishek/tdo.nvim',
dependencies = 'nvim-telescope/telescope.nvim',
cmd = { 'Tdo', 'TdoEntry', 'TdoNote', 'TdoTodos', 'TdoToggle', 'TdoFind', 'TdoFiles' },
keys = { '[t', ']t' },
},
-- Packer
use '2kabhishek/tdo.nvim'
tdo.nvim
adds the following commands:
Tdo <args>
: open today's todo when noargs
, acceptsargs
same as tdoTdoEntry <offset>
: open today's journal entry, acceptsoffset
TdoNote
: create new note with title, if left empty creates a draft with current timestampTdoTodos
: show all your incomplete todosTdoToggle
: toggle todo stateTdoFind <text>
: interactively search fortext
in all your notesTdoFiles
: review all your notes
tdo.nvim
adds the following mappings:
- [t / ]t β Go to previous/next todo
[ ]
Other than the standard commands, you can use which-key to create your own commands.
I have defined commands for yesterday/tomorrow's todos, commit note and timestamp insertion.
n = {
name = 'Notes',
d = { '<cmd>Tdo<cr>', "Today's Todo" },
e = { '<cmd>TdoEntry<cr>', "Today's Entry" },
f = { '<cmd>TdoFiles<cr>', 'All Notes' },
g = { '<cmd>TdoFind<cr>', 'Find Notes' },
h = { '<cmd>Tdo -1<cr>', "Yesterday's Todo" },
j = { "<cmd>put =strftime('%a %d %b %r')<cr>", 'Insert Human Date' },
J = { "<cmd>put =strftime('%F')<cr>", 'Insert Date' },
k = { "<cmd>put =strftime('%r')<cr>", 'Insert Human Time' },
K = { "<cmd>put =strftime('%F-%H-%M')<cr>", 'Insert Time' },
l = { '<cmd>Tdo 1<cr>', "Tomorrow's Todo" },
n = { '<cmd>TdoNote<cr>', 'New Note' },
s = { '<cmd>lua require("tdo").run_with("commit " .. vim.fn.expand("%:p")) vim.notify("Commited!")<cr>', 'Commit Note', },
t = { '<cmd>TdoTodos<cr>', 'Incomplete Todos' },
x = { '<cmd>TdoToggle<cr>', 'Toggle Todo' },
},
You tell me!
Most note-taking systems offer a lot more than I needed, so I wrote tdo and then tdo.nvim for better integration.
- Dove deeper into nvim APIs
- Learned about not interactive shell scripting.
- dots2k β Dev Environment
- nvim2k β Personalized Editor
- sway2k β Desktop Environment
- qute2k β Personalized Browser
- co-author.nvim β Easily add git co authors
- nerdy.nvim β Easily add nerd glyphs
β hit the star button if you found this useful β
Source | Blog | Twitter | LinkedIn | More Links | Other Projects