A synchronized cross-platform task and time manager.
Kronos is a synchronized, cross-platform task and time manager.
Kronos.vim is a Vim8/Neovim client for Kronos protocol that allows you to manange your tasks directly from a Vim buffer (a bit like Vimwiki).
Function | Mapping |
---|---|
Jump to the next cell | <Tab> , <C-n> |
Jump to the prev cell | <S-Tab> , <C-p> |
Change in cell | cic |
Visual in cell | vic |
Delete in cell | dic |
Show task infos | K |
Hide/show done tasks | gh |
Set context | gc |
Show worktime | gw |
:Kronos
Then you can create, read, update, delete tasks using Vim mapping. The table
will automatically readjust when you save the buffer (:w
).
To create a task, you can:
- Write a full table line
|id|desc|tags|active|due|
- Write a Kronos create format:
my task +with-tag :18
To show focused task details, press <K>
:
To update a task, just edit the cell and save:
For the due
field, you need to use the date Kronos create
format (eg: :18
, :20:1230
...).
To start/stop a task, press <Enter>
:
To mark a task as done, delete the line:
To show/hide done tasks, press <gh>
(for go hide
):
The context is a filter over tags. Once setup:
- You will see only tasks containing at least one tag of your context
- When you create a task, all tags in your context will be assigned to it
To setup a context, press gc
(for go to context
), and type all tags you
want in your context (separated by spaces). Typing an empty context removes it:
The worktime allows you to check how much time you spent on a tag. Press gw
(for go to worktime
), and type the tags you want to calculate the total
worktime:
To delete a task, delete the line when done tasks are shown:
Define a context by default:
g:kronos_context = <string[]>
Default: []
Path to the database file:
g:kronos_database = <path>
Default: <KRONOS_ROOT_DIR>/.database
Hide done tasks by default:
g:kronos_hide_done = <boolean>
Default: 1
Enable sync feature:
g:kronos_sync = <boolean>
Default: 0
See Kronos protocol.
Set sync host:
g:kronos_sync_host = <string>
Default: localhost:5000
Git commit messages follow the Angular Convention, but contain only a subject.
Use imperative, present tense: “change” not “changed” nor “changes”
Don't capitalize first letter
No dot (.) at the end
Code should be as clean as possible, variables and functions use the snake case
convention. A line should never contain more than 80
characters.
Tests should be added for each new functionality. Be sure to run tests before proposing a pull request.
Dec. 26, 2018
- Refactor interface (Vimwiki like)Oct. 18, 2018
- Refactor code to match the Kronos protocolJul. 05, 2018
- Add context by tagsJun. 26, 2018
- Implement Gist sync featureJun. 25, 2018
- Add ability to mark tasks as undoneJun. 24, 2018
- Add option to show or hide done tasksJun. 23, 2018
- Init changelog
- Taskwarrior, a task manager
- Timewarrior, a time manager
- vim-taskwarrior, a Taskwarrior wrapper for vim
- Vimwiki