Ecosyste.ms: Awesome

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

Awesome Lists | Featured Topics | Projects

https://github.com/strang1ato/tibivi

Terminal based, vim-like time managment tool
https://github.com/strang1ato/tibivi

command-line go golang terminal timeblocking timemanagement vi vim

Last synced: 3 months ago
JSON representation

Terminal based, vim-like time managment tool

Awesome Lists containing this project

README

        


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](https://golang.org/)

- ### 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 installed and `$GOPATH/bin` added to `$PATH`, then execute:
```bash
go install github.com/strang1ato/tibivi@latest
```

### Binary

Download latest binary from [releases](https://github.com/strang1ato/tibivi/releases)

then make file executable by for example:
```bash
chmod +x
```

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 |