Skip to content

ianding1/todo.vim

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

15 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

todo.vim

An intuitive TODO List written in pure VimL

demo

Demo recorded in Neovim using onedark.vim

Installation

Add todo.vim to your vimrc:

Plug 'ianding1/todo.vim'

Key mappings

todo.vim doesn't bind any key mappings by default.

" Jump to the next TODO item (skipping DONE items).
nmap <silent> <leader>tn <Plug>(todo-next)
" Jump to the previous TODO item (skipping DONE items).
nmap <silent> <leader>tp <Plug>(todo-prev)
" List all TODO items in the location list. See `:h location-list`.
nmap <silent> <leader>tl <Plug>(todo-list)
" Use TAB to toggle the item between TODO and DONE.
nmap <silent> <expr> <tab> todo#IsTodo() ? "\<Plug>(todo-toggle)" : "\<tab>"

Note: Don't use nnoremap to map these keys. Use double quotes instead of single quotes. And don't forget the backslashes.

Notes

  1. todo.vim uses folding to collapse DONE items. The most basic commands are zo to open a fold and zc to close a fold. See :h folding for details. If you want to disable this feature, add let g:todo_done_folded = 0 to your vimrc.
  2. todo.vim uses location list to list all the TODO items in the buffer, which are sorted by the priority (the number of ! after [ ], at most 3).

Customizations

" Set to 0 to disable folding DONE items (enabled by default).
let g:todo_done_folded = 1

Auto Git Sync

If the last line of the todo file contains // todo.vim: autogitsync, then each time the file is opened, todo.vim will do git-pull, and each time the file is written, todo.vim will commit all the changes and do git-push. This can be very help with Gist to maintain a cloud todo list.

About

An intuitive TODO list in Vim

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published