/tibivi

Terminal based, vim-like time managment tool

Primary LanguageGoMIT LicenseMIT

Terminal based, inspired by vi/vim time blocking tool





Advantages of tibivi over other time blocking tools

  • Easy-to-use

    If you know basic vi/vim features you already know how to use tibivi

  • Speed

    Tibivi works almost instantly because of being terminal based and being written in fast Go programming language

  • All data is stored human-readable text files instead of database

    All data is stored in text files in $HOME/.tibivi/ directory, which means that you can modify your schedule in any text editor

    Example content of datafile:

    14:00-17:00 Contribute to FOSS 💻
    17:00-18:00 Play chess ♟️
    18:00-19:00 Play some computer game 🎮
    
  • Use emoji instead of images

    In tibivi you use emoji instead of images in order to arrange any time block

Installation

From source

Make sure you have Go 1.14 installed and $GOPATH/bin added to $PATH, then execute:

  go get -u github.com/strang1ato/tibivi

Binary

Download latest binary from releases

then make file executable by for example:

   chmod +x <path-to-tibivi>

and move tibivi binary to directory in $PATH

Keybindings

Day Schedule

Keybinding Action
h l Navigate in selection of day schedules
j k Scroll in day schedule
f Esc Go to week schedule

Week Schedule

Keybinding Action
h l Navigate in selection of day schedules
j k Scroll in day schedule
f Focus on selected day

Bar

Keybinding Action
: Focus on bar
Enter Run command
Esc Exit bar

Menu

Keybinding Action
m Open add/modify/remove block menu
j k Navigate in menu
Enter Run selected menu option
Esc Exit menu

Add/modify block form

Keybinding Action
Esc Switch to normal mode or exit form if in normal mode already
i Switch to insert mode
h j k l Navigate in form
Enter Submit form or go to next field

Block selection

Keybinding Action
j k Navigate in block selection
Enter Run specified in menu action
Esc Exit block selection

Commands

Command Action
:w Write changes to datafiles
:q Exit tibivi
:q! Exit tibivi and ignore changes
:wq Write and exit tibivi
:day Returns in bar currently selected day