nvim-orgmode/orgmode

website github github
note-taking
stars 3,199
issues 88
subscribers 21
forks 146
CREATED

2021-05-13

UPDATED

20 hours ago


#+HTML:

#+HTML:

  • nvim-orgmode

#+HTML: #+HTML: #+HTML:

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.10.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', })

-- 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, } #+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=
    • 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 (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: