jceb / vim-orgmode

Text outlining and task management for Vim based on Emacs' Org-Mode
http://www.vim.org/scripts/script.php?script_id=3642
Other
3.12k stars 266 forks source link

Capture #158

Open Tranquility opened 10 years ago

Tranquility commented 10 years ago

Has any work been done to implement that feature? It would be awesome to have and would make a vim version of org-mode really useful because it would be possible to capture tasks throughout the day.

sotte commented 10 years ago

There is nobody working on it. However, it should be fairly simple to implement it. So if you want to get your hands dirty feel free! :)

What I use to quickly add notes to my org system:

echo "* bake a cake" >> ~/org/inbox.org
al3xandru commented 8 years ago

Is it worth voting for this feature? Or is it very low priority and chances to be implemented are too slim?

Ron89 commented 8 years ago

Could you shortly describe what it does?

al3xandru commented 8 years ago

Capture is Orgmode's approach to helping one easily capture new notes. It centers around defining:

  1. what to capture (using predefined expansions; e.g. time, clipboard, active file, etc)
  2. where to capture (using template elements; e.g. what org file to use, the format of the org file, etc.)

Shortly put, one can define a set of templates to be used when taking notes that automatically expand contextual elements. When triggering capture mode, you are given the option to choose what template to use and when saving the capture that gets automatically added to the org file.


Example: I trigger capture with C-c c, then I can choose the template I want to use:

20160522-104739-screenshot from emacs-754x510

After choosing an option from my templates, I'm given another buffer where I can enter the new note. When saving this buffer, its content is used together with the template to generate the final note added to the org file.

The definition of my templates:

     (setq org-capture-templates
        '(("l" "Log (+ [H:M])" item (file+datetree org-default-notes-file)
           "+ [%<%H:%M>] %?")
          ("h" "Heading [H:M]" entry (file+datetree org-default-notes-file)
           "* %? [%<%H:%M>]")
          ("t" "Todo" entry (file+datetree org-default-notes-file)
           "* TODO %?\n  %U\n  %i")
          ("T" "Todo with ref" entry (file+datetree org-default-notes-file)
           "* TODO %?\n  %U\n  %a\n  %i")
          ("v" "Todo with clipboard" entry (file+datetree org-default-notes-file)
           "* TODO %?\n  %c\n  %U\n  %i")
          ("c" "Task (- [])" checkitem (file+datetree org-default-notes-file)
           "- [ ] %?\n  %U\n  %i")
          ("C" "Task with ref" checkitem (file+datetree org-default-notes-file)
           "- [ ] %?\n  %U\n  %a\n  %i")
          ("V" "Task with clipboard" checkitem (file+datetree org-default-notes-file)
           "- [ ] %?\n  %c\n  %U\n  %i")
          ("n" "Note" item (file+datetree org-default-notes-file)
           "+ %? %U")
          ("N" "Note with clipboard" item (file+datetree org-default-notes-file)
           "+ %? %U\n  %c")))

At a bare minimum, what I'd like to have is a way to:

  1. define similar templates
  2. an evolving number of expansions supported (it could start by supporting simple stuff like current time as active/inactive, clipboard, and grow to support file names, file references, etc.)
  3. a key to trigger it and a similar flow

I'm sure there are other features that I haven't captured in this description and even if I tried my best to keep it short, I didn't know how much detail you'd find useful.