README.org
January 21, 2026 · View on GitHub
#+HTML:
#+HTML:
- nvim-orgmode
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({
org_agenda_files = '/orgfiles/**/*',
org_default_notes_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,pandocand 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>
- Cumulate type:
- 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>
- DEADLINE: Warning settings - example:
- 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
- Agenda view (=a=):
- 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=
- Demote 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 (viaemacs,pandocand 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)