hamidi-dev
org-list.nvim
Lua

Neovim plugin to toggle between different kinds of lists.

Last updated May 30, 2026
34
Stars
2
Forks
0
Issues
0
Stars/day
Attention Score
1
Language breakdown
No language data available.
โ–ธ Files click to expand
README

#+TITLE: org-list.nvim #+AUTHOR: Mohamed Hamidi #+OPTIONS: toc:2

A simple Neovim plugin that makes working with lists a breeze! Whether you're taking notes, making TODOs, or organizing your thoughts, this plugin helps you manage different types of lists with minimal effort.

https://github.com/user-attachments/assets/c4d69201-503b-4977-ba5e-6456a28e6899

While this plugin was designed to complement [[https://github.com/nvim-orgmode/orgmode][nvim-orgmode]], it works perfectly fine as a standalone plugin for managing lists in any text file.

  • โœจ Features
  • List Type Cycling: Quickly switch between different list formats:
- Plain text - Bullet points (-) - Numbered lists (1., 2., etc.) - Checkboxes ([X])
  • Smart Checkbox Management:
- Toggle checkboxes with a single keybind - Parent checkboxes automatically update based on their children's state - Partial completion states ([-]) for nested lists
  • Repeatable actions using vim-repeat (press . to repeat)
  • ๐Ÿš€ Installation
** Using lazy.nvim #+begin_src lua { "hamidi-dev/org-list.nvim", dependencies = { "tpope/vim-repeat", -- for repeatable actions with '.' }, config = function() require("org-list").setup({ -- your config here (optional) }) end } #+end_src

** Using packer.nvim #+begin_src lua use { "hamidi-dev/org-list.nvim", requires = { "tpope/vim-repeat", -- for repeatable actions with '.' }, config = function() require("org-list").setup() end } #+end_src

  • โš™๏ธ Configuration
The plugin works out of the box with sensible defaults, but you can customize it to your liking:

#+begin_src lua require("org-list").setup({ mapping = { key = "lt", -- nvim-orgmode users: you might want to change this to olt desc = "Toggle: Cycle through list types" }, checkbox_toggle = { enabled = true, -- NOTE: for nvim-orgmode users, you should change the following mapping OR change the one from orgmode. -- If both mapping stay the same, the one from nvim-orgmode will "win" key = "", desc = "Toggle checkbox state", filetypes = { "org", "markdown" } -- Add more filetypes as needed } }) #+end_src

  • ๐ŸŽฎ Usage
** Cycle Through List Types
  • Place your cursor anywhere in a list
  • Press =lt= (or your custom mapping)
  • The entire list will cycle through different formats
  • Press =.= to repeat the cycle action on other lists (requires vim-repeat)
** Toggle Checkboxes
  • Place your cursor on a checkbox line
  • Press == (or your custom mapping)
  • The checkbox will toggle between empty, checked, and partial states
  • Press =.= to repeat the toggle action on other checkboxes (requires vim-repeat)
  • ๐Ÿ’ก Tips
  • The plugin is smart enough to handle nested lists and maintain proper indentation
  • Parent checkboxes automatically show:
- [X] when all children are checked - [-] when some children are checked - [ ] when no children are checked
  • Works seamlessly with org-mode syntax and conventions
  • ๐Ÿค Contributing
Found a bug? Have a feature request? Feel free to:
  • Open an issue
  • Submit a pull request
  • Start a discussion
All contributions are welcome!
  • ๐Ÿ“„ License
MIT License - feel free to use this in your own projects!
๐Ÿ”— More in this category

ยฉ 2026 GitRepoTrend ยท hamidi-dev/org-list.nvim ยท Updated daily from GitHub