Vim Checkbox Toggle
Some flavors of Markdown, such as the one implemented by GitHub, support checkboxes that can be in a checked or unchecked state. For example, you can submit a Pull Request to GitHub with Markdown including - [ ] to do item
and you will see a checkbox rendered on GitHub, one that you can actually check off when the task is done. If you put an x
inside the bracket, it will be rendered as a checked:
- [ ] item
- [ ] another item
- [x] completed item
Whether you’re using Markdown for notes or submitting Pull Requests to GitHub, it’s useful to have a way to toggle a list item as checked or unchecked. The Vim Checkbox plugin does just that.
Once installed, you can run it anytime with <leader>tt
. If you’re on a line with a checkbox already, it will toggle the state from checked or unchecked. If you’re on a bulleted list line that does not yet have a checkbox, the mapping will add one.
As a bonus, it even works on a visual selection of lines. You can write a bulleted list, select it, then add checkboxes to every item. As you complete them, use the same mapping to check off items. It works with both style of Markdown bullets, *
or -
.
Here’s a demo of some of this functionality below: