Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/dhruvasagar/vim-dotoo

Org-mode like task logging & time tracking in Vim
https://github.com/dhruvasagar/vim-dotoo

hacktoberfest

Last synced: 2 days ago
JSON representation

Org-mode like task logging & time tracking in Vim

Awesome Lists containing this project

README

        

# VIM Do Too v0.14.3.2 [![Build](https://github.com/dhruvasagar/vim-dotoo/actions/workflows/ci.yml/badge.svg)](https://github.com/dhruvasagar/vim-dotoo/actions/workflows/ci.yml)

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

## Pre-requisites

It is recommended that you enable the vim setting `'hidden'` which allows us
to keep dotoo files hidden in the background for the purpose of showing
accurate agenda information and also for faster updates to these files.

## Getting Started

1. Document Structure: The document 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
- \: Increment date under cursor by 1 day, can be preceded with a [count]
- \: Decrement date under cursor by 1 day, can be preceded with a [count]
- \\: Normalize a date (fixes day name if incorrect)
- \: Cycle headline visibility similar to Org mode
- \: Follow link under cursor
- \: Go back to previous document after following a link

The \, \, and cic commands all work with .
if you have [repeat.vim](http://github.com/tpope/vim-repeat) installed

A few helpful `:iabbrev`:

- `:date:` Enters the current date
- `:time:` Enters the current time
- `:datetime:` 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 :

- gq: 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
- \: Open headline under cursor & close agenda
- \: Open headline under cursor in `split`
- \: Open headline under cursor in `tab`
- \: Open headline under cursor in `vsplit`
- \: same as \

1. Agenda View : This displays all TODOs that are nearing 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.

5. Tagged : This lists all headlines that have tags.

6. Search : This lists all headlines that match an input search
term.

7. Wiki : This lists all headlines that have `notes` in the path, assuming
you manage notes in a notes folder that is under the agenda files path.
This is better than Notes view since it does not require the presence of
`:NOTE:` tag. If you just want to see everything in your knowledge base
at a quick glance this is useful.

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 -

## Screencast

https://www.youtube.com/watch?v=nsv33iOnH34

## 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](https://github.com/jceb/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](https://opencollective.com/vim-dotoo/contribute)].

### Financial Contributors

Become a financial contributor and help us sustain our community. [[Contribute](https://opencollective.com/vim-dotoo/contribute)]

#### Individuals

#### Organizations

Support this project with your organization. Your logo will show up here with a link to your website. [[Contribute](https://opencollective.com/vim-dotoo/contribute)]