/vim-dotoo

Org-mode like task logging & time tracking in Vim

Primary LanguageVim Script

VIM Do Too v0.9.0 CircleCI

An awesome task manager & clocker inspired by org-mode written in pure viml.

Getting Started

  1. Document Structure: The docment structure is borrowed from emacs' Org Mode.

    NOTE : Check out the file dotoo.dotoo in this repo as an example

    These are the dotoo document mappings :

    • gI: clock-in headline under cursor
    • gO: clock-out headline under cursor
    • gM: move headline under cursor to selected target
    • cit: change TODO of headline under cursor
    • cic: toggle checkbox under cursor
    • <C-A>: Increment date under cursor by 1 day, can be preceded with a [count]
    • <C-X>: Decrement date under cursor by 1 day, can be preceded with a [count]
    • <C-C><C-C>: Normalize a date (fixes day name if incorrect)

    The <C-X>, <C-A>, and cic commands all work with . if you have repeat.vim installed

    A few helpful :iabbrev :

    • :date: Enters the current date
    • :time: Enters the current date & time
  2. Agenda Views: You can have a look at the agenda views at anytime using the key binding gA, this displays the list of currently registered agenda views available, selecting one of them then opens up the view. The agenda views pulls information from agenda files, this can be configured by setting g:dotoo#agenda#files which is a list of file names / file blobs.

    These are the agenda view mappings common to all :

    • q: quit agenda buffer
    • r: refresh agenda buffer (force reload / parse agenda files)
    • c: change TODO of headline under cursor
    • u: undo change in file of headline under the cursor
    • s: save all agenda files
    • C: trigger capture menu
    • i: clock-in for headline under cursor
    • o: clock-out for headline under cursor
    • m: Move headline to selected target
    • /: Filter by file, tags or todos
    • <CR>: Open headline under cursor & close agenda
    • <C-S>: Open headline under cursor in split
    • <C-T>: Open headline under cursor in tab
    • <C-V>: Open headline under cursor in vsplit
    • <Tab>: same as <C-V>

    There are 4 views available currently :

    1. Agenda View : This displays all TODOs that are nearing deadline. deadline. It provides a variety of mappings to manipulate the TODO items from the agenda view itself.

      These are mappings specific to agenda view:

      • f: go forward by 1 day
      • b: go backward by 1 day
      • .: go to today's date
      • S: Change agenda span to day, week or month
      • R: Report of clocking summary for the current span
    2. TODOs View : This displays all unscheduled TODO items from your agenda files.

    3. Refiles : This displays all headlines in the refile file that you should then move to an appropriate target file / project / headline.

    4. Notes : This displays all the notes from all the agenda files.

  3. Capture: This launches the capture menu that you can use to quickly capture TODOs, NOTES etc. This can be invoked using the keybinding gC from anywhere. The capture launches with a split window in select mode, you can just start typing to edit the capture. On saving the capture is then moved to the refile file, this can be configured using g:dotoo#capture#refile. You can always look at your refiles in the refiles view and move them to the desired target file / headline from there. Capture also clocks the tasks so you can log how much time was spent doing them by default, you can disable this behavior by setting let g:dotoo#capture#clock = 0.

Screenshots

  1. Agenda Menu -
  2. Agenda View -
  3. Agenda View with Log Summary -
  4. Todos View -
  5. Refile View -
  6. Notes View -

Credits

This plugin was inspired by the original emacs org-mode and the workflow described by Bernt Hansen at http://doc.norang.ca/org-mode.html.

I have taken bits of the syntax definitions & ideas from vim-orgmode

I will also like to shout out for bairui http://of-vim-and-vigor.blogspot.in/ who helped me a lot in building this.

Contributors

Code Contributors

This project exists thanks to all the people who contribute. [Contribute].

Financial Contributors

Become a financial contributor and help us sustain our community. [Contribute]

Individuals

Organizations

Support this project with your organization. Your logo will show up here with a link to your website. [Contribute]