Skip to content

lervag/lists.vim

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

23 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Introduction

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 and al: 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:".

Installation

If you use vim-plug, then add the following line to your vimrc file:

Plug 'lervag/lists.vim'

Or use some other plugin manager:

Related projects

Acknowledgements

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.