This is a Vim plugin to manage text based lists. The following features are provided. The default mappings are indicated. See the main docs for the details.
-
<c-s>
: Normal mode and insert mode mapping to toggle list items, e.g. between things like:* [ ] → * [x] * TODO: → * DONE:
-
il
andal
: Text objects for list items. -
<leader>wlk
and<leader>wlj
: Move list items up or down the list. -
<leader>wlu
: Remove repeated entries in a list (recursively)
lists.vim
is quite minimal and does not have a lot of available
configuration choices. The implementation is based on the idea that list items
are indented consistently. The indentation makes it easy to parse a list to
determine its structure.
These types of lists are currently supported:
- Bullet lists. Bullets are either "*" or "-".
- Numbered lists formated similar to "1.".
- List items can be decorated with check boxes. Examples:
- checked
- unchecked
- List items can be decorated with labels like "TODO:" and "DONE:".
If you use vim-plug, then add the
following line to your vimrc
file:
Plug 'lervag/lists.vim'
Or use some other plugin manager:
- bullets.vim: a Vim/NeoVim plugin for automated bullet lists
- lazyList.vim: Be lazy, and let this vim plugin create lists for you
- vim-rainbow-lists: Nested highlighting of lists
- vim-todo-lists: Vim plugin for TODO lists
- vim-todo: Basic todo list management in vim
The functionality of lists.vim was earlier a part of wiki.vim and implemented for my personal convenience. However, as someone pointed out, the list features do not really have anything to do with the wiki functionality. Thus it was extracted from wiki.vim into this dedicated list plugin.