nvim-orgmode
orgmode
Lua

Orgmode clone written in Lua for Neovim 0.11.0+.

Last updated Jul 8, 2026
3.8k
Stars
188
Forks
153
Issues
+19
Stars/day
Attention Score
97
Language breakdown
No language data available.
โ–ธ Files click to expand
README

#+HTML:

#+HTML: A blend of the Neovim (shape) and Org-mode (colours) logos

  • nvim-orgmode
#+HTML:License #+HTML:Kofi #+HTML:Chat

Orgmode clone written in Lua for Neovim

[[#installation][Installation]] โ€ข [[#docs][Docs]] โ€ข [[#showcase][Showcase]] โ€ข [[file:./docs/troubleshoot.org][Troubleshoot]] โ€ข [[#plugins][Plugins]] โ€ข [[file:./docs/contributing.org][Contributing]] โ€ข [[#thanks-to][Kudos]]

#+HTML:

** Quickstart

* Requirements

  • Neovim 0.11.0 or later
* Installation :PROPERTIES: :CUSTOM_ID: installation :END:

Use your favourite package manager. We recommend [[https://github.com/folke/lazy.nvim][lazy.nvim]]: #+BEGIN_SRC lua { 'nvim-orgmode/orgmode', event = 'VeryLazy', ft = { 'org' }, config = function() -- Setup orgmode require('orgmode').setup({ orgagendafiles = '~/orgfiles/*/', orgdefaultnotes_file = '~/orgfiles/refile.org', })

-- Experimental LSP support vim.lsp.enable('org') end, } #+END_SRC

For more installation options see [[file:./docs/installation.org][Installation]] page.

* Docs :PROPERTIES: :CUSTOM_ID: docs :END:

Online docs is available at [[https://nvim-orgmode.github.io]].

To view docs in orgmode format in Neovim, run =:Org help=.

Vim help docs is available at =:help orgmode.txt= * Usage

  • Open agenda prompt: =oa=
  • Open capture prompt: =oc=
  • In any orgmode buffer press =g?= for help
If you are new to Orgmode, see [[file:./docs/index.org#getting-started][Getting started]] section in the Docs.

** Showcase :PROPERTIES: :CUSTOM_ID: showcase :END:

* Agenda

#+CAPTION: agenda #+NAME: agenda [[https://user-images.githubusercontent.com/1782860/123549968-8521f600-d76b-11eb-9a93-02bad08b37ce.gif]]

* Org file

#+CAPTION: orgfile #+NAME: orgfile [[https://user-images.githubusercontent.com/1782860/123549982-90752180-d76b-11eb-8828-9edf9f76af08.gif]]

* Capturing and refiling

#+CAPTION: capture #+NAME: capture [[https://user-images.githubusercontent.com/1782860/123549993-9a972000-d76b-11eb-814b-b348a93df08a.gif]]

* Autocompletion

#+CAPTION: autocomplete #+NAME: autocomplete [[https://user-images.githubusercontent.com/1782860/123550227-e8605800-d76c-11eb-96f6-c0a677d562d4.gif]]

** Features

* TL;DR

  • Agenda view
  • Search by tags/keyword
  • Clocking time
  • Repeatable dates, date and time ranges
  • Capturing to default notes file/destination
  • Archiving (archive file or ARCHIVE tag)
  • Exporting (via ~emacs~, ~pandoc~ and custom export options)
  • Notifications (experimental, see issue [[https://github.com/nvim-orgmode/orgmode/issues/49][#49]])
  • Calendar popup for easier navigation and date updates
  • Various org file mappings:
- Promote/Demote - Change TODO state - Change dates - Insert/Move/Refile headlines - Change tags - Toggle checkbox state
  • Remote editing from agenda view
  • Repeatable mapping via [[https://github.com/tpope/vim-repeat][vim-repeat]]
* Detailed breakdown
  • Agenda prompt:
- Agenda view (=a=): - Ability to show daily(=vd=)/weekly(=vw=)/monthly(=vm=)/yearly(=vy=) agenda - Support for various date settings: - DEADLINE: Warning settings - example: ~<2021-06-11 Fri 11:00 -1d>~ - SCHEDULED: Delay setting - example: ~<2021-06-11 Fri 11:00 -2d>~ - All dates - Repeater settings: - Cumulate type: ~<2021-06-11 Fri 11:00 +1w>~ - Catch-up type: ~<2021-06-11 Fri 11:00 ++1w>~ - Restart type: ~<2021-06-11 Fri 11:00 .+1w>~ - Time ranges - example: ~<2021-06-11 Fri 11:00-12:30>~ - Date ranges - example: ~<2021-06-11 Fri 11:00-12:30>--<2021-06-13 Sun 22:00>~ - Properly lists tasks according to defined dates (DEADLINE,SCHEDULED,Plain date) - Navigate forward (=f=)/backward(=b=) or jump to specific date (=J=) - Go to task under cursor in current window(==) or other window(==) - Print category from ":CATEGORY:" property if defined - List tasks that have "TODO" state (=t=): - Find headlines matching tag(s) (=m=): - Search for headlines (and it's content) for a query (=s=): - [[file:./docs/configuration.org#advanced-search][Advanced search]] for tags/todo kewords/properties - Notifications (experimental, see issue [[https://github.com/nvim-orgmode/orgmode/issues/49][#49]]) - Clocking time
  • Capture:
- Define custom templates - Fast capturing to default notes file via == - Capturing to specific destination =or= - Abort capture with =ok=
  • Org files
- Clocking time - Refile to destination/headline: =or= - Increase/Decrease date under cursor: == / == - Change date under cursor via calendar popup: =cid= - Change headline TODO state: forward =cit= or backward =ciT= - Open hyperlink or date under cursor: =oo= - Toggle checkbox: == - Toggle current line to headline and vice versa: =o*= - Toggle folding of current headline: == - Toggle folding in whole file: == - Archive headline: =o$= - Add archive tag: =oA= - Change tags: =ot= - Promote headline: =<<= - Demote headline: =>>= - Promote subtree: =s= - Add headline/list item/checkbox: == - Insert heading after current heading and it's content: =oih= - Insert TODO heading after current line: =oiT= - Insert TODO heading after current heading and it's content: =oit= - Move headline up: =oK= - Move headline down: =oJ= - Highlighted code blocks (~#+BEGIN_SRC filetype~) Exporting (via ~emacs~, ~pandoc~ and custom export options)

Link to detailed documentation: [[./docs/index.org][DOCS]]

** Plugins Check [[file:./docs/plugins.org][Plugins]] page for list of plugins.

#+BEGIN_QUOTE NOTE: None of the Emacs Orgmode plugins will be built into nvim-orgmode. Anything that's a separate plugin in Emacs Orgmode should be a separate plugin in here. The point of this plugin is to provide functionality that's built into Emacs Orgmode core, and a good foundation for external plugins. #+END_QUOTE

If you want to build a plugin, post suggestions and improvements on [[https://github.com/nvim-orgmode/orgmode/issues/26][Plugins infrastructure]] issue.

** Thanks to :PROPERTIES: :CUSTOM_ID: thanks-to :END:

  • [[https://github.com/dhruvasagar][@dhruvasagar]] and his [[https://github.com/dhruvasagar/vim-dotoo][vim-dotoo]] plugin
that got me started using orgmode. Without him this plugin would not happen.
  • [[https://github.com/emiasims][@emiasims]] for writing a treesitter parser for org
  • [[https://github.com/jceb/vim-orgmode][vim-orgmode]] for some parts of the code (mostly syntax)
๐Ÿ”— More in this category

ยฉ 2026 GitRepoTrend ยท nvim-orgmode/orgmode ยท Updated daily from GitHub