Orgmode clone written in Lua for Neovim
Installation • Docs • Showcase • Troubleshoot • Plugins • Contributing • Kudos
- Neovim 0.10.3 or later
Use your favourite package manager. We recommend lazy.nvim:
{
'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',
})
-- NOTE: If you are using nvim-treesitter with ~ensure_installed = "all"~ option
-- add ~org~ to ignore_install
-- require('nvim-treesitter.configs').setup({
-- ensure_installed = 'all',
-- ignore_install = { 'org' },
-- })
end,
}For more installation options see Installation page.
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
- Open agenda prompt:
<Leader>oa - Open capture prompt:
<Leader>oc - In any orgmode buffer press
g?for help
If you are new to Orgmode, see Getting started section in the Docs.
- 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 #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 vim-repeat
- 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(
<CR>) or other window(<TAB>) - Print category from “:CATEGORY:” property if defined
- Ability to show daily(
- List tasks that have “TODO” state (
t): - Find headlines matching tag(s) (
m): - Search for headlines (and it’s content) for a query (
s): - Advanced search for tags/todo kewords/properties
- Notifications (experimental, see issue #49)
- Clocking time
- Agenda view (
- Capture:
- Define custom templates
- Fast capturing to default notes file via
<C-c> - Capturing to specific destination
<Leader>or - Abort capture with
<Leader>ok
- Org files
- Clocking time
- Refile to destination/headline:
<Leader>or - Increase/Decrease date under cursor:
<C-a>/<C-x> - Change date under cursor via calendar popup:
cid - Change headline TODO state: forward
citor backwardciT - Open hyperlink or date under cursor:
<Leader>oo - Toggle checkbox:
<C-space> - Toggle current line to headline and vice versa:
<Leader>o* - Toggle folding of current headline:
<TAB> - Toggle folding in whole file:
<S-TAB> - Archive headline:
<Leader>o$ - Add archive tag:
<Leader>oA - Change tags:
<Leader>ot - Promote headline:
<< - Demote headline:
>> - Promote subtree:
<s - Demote subtree:
>s - Add headline/list item/checkbox:
<Leader><CR> - Insert heading after current heading and it’s content:
<Leader>oih - Insert TODO heading after current line:
<Leader>oiT - Insert TODO heading after current heading and it’s content:
<Leader>oit - Move headline up:
<Leader>oK - Move headline down:
<Leader>oJ - Highlighted code blocks (
#+BEGIN_SRC filetype) Exporting (viaemacs,pandocand custom export options)
Link to detailed documentation: DOCS
Check Plugins page for list of plugins.
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.
If you want to build a plugin, post suggestions and improvements on Plugins infrastructure issue.
- @dhruvasagar and his vim-dotoo plugin that got me started using orgmode. Without him this plugin would not happen.
- @milisims for writing a treesitter parser for org
- vim-orgmode for some parts of the code (mostly syntax)



