Giter Club home page Giter Club logo

vim-skuld's Introduction

Introduction

Skuld is a pomodoro timer that runs inside Vim. It can help you track your tasks in an simple (or stupid) way.

Skuld Screenshot

Please send pull requests to https://github.com/l04m33/vim-skuld

Dependencies

Skuld depends on +python or +python3, as well as +clientserver. Nothing else is needed.

Installation

Vundle is recommended.

Usage

After a successful installation, these commands are available:

  • SkuldStartTimer <task_id> : Start the pomodoro timer
  • SkuldStopTimer : Stop the pomodoro timer
  • SkuldStartTask <task_id> : Switch current task. The timer will be started if it's stopped
  • SkuldSwitchTask <task_id> : Switch current task
  • SkuldGetState : Display current timer state
  • SkuldBufOpen : Open the buffer containing the task list ([Skuld Tasks])
  • SkuldTaskUpdate : Update the internal task list according to [Skuld Tasks] buffer

SkuldBufOpen is mapped to <leader>sb by default. You can open a scratch buffer called [Skuld Tasks] using this command, and then write down your tasks in that buffer, one task per line. Whenever you leave insert mode, or leave the [Skuld Tasks] buffer, your tasks will be set automatically. Each task will be assigned an ID. The IDs start from zero.

Once the tasks are set, you can press <cr> on a task to start the timer. You don't need to keep the [Skuld Tasks] buffer open while the timer is running.

When the pomodoro timer times out, there will be a Vim message signifying the change of timer state. You can start working or have a break accordingly. Skuld will append a pomodoro completion symbol, which defaults to *, after the current task, when a working period ends.

If you invoked SkuldStopTimer during a working period, a squash symbol, which defaults to x, will be appended instead.

You can edit [Skuld Tasks] buffer while the timer is running. Edited tasks will be synchronized automatically once you leave insert mode or leave the buffer.

Mappings

    nnoremap <leader>sb :SkuldBufOpen<cr>
    nnoremap <leader>ss :SkuldGetState<cr>

Settings

These variables can be set in you .vimrc to override the defaults:

    " Pomodoro completion symbol
    let g:skuld_progress_symbol = '*'

    " Pomodoro squashed symbol
    let g:skuld_squash_symbol = 'x'

    " Pomodoro working period (in minutes)
    let g:skuld_work_period = 25

    " Pomodoro resting period (in minutes)
    let g:skuld_rest_period = 5

    " Pomodoro long resting period (in minutes)
    let g:skuld_long_rest_period = 15

    " Max working streak before long resting
    let g:skuld_max_work_streak = 4

    " Notification command
    let g:skuld_notify_cmd = 'notify-send'

    " Mapping for opening the task buffer
    let g:skuld_buffer_map = '<leader>sb'

    " Mapping for displaying the current state
    let g:skuld_state_map = '<leader>ss'

    " Default line width for the task buffer
    let g:skuld_line_width = 29

License

This Vim plugin is licensed under the terms of the MIT license.

vim-skuld's People

Contributors

l04m33 avatar

Stargazers

 avatar

Watchers

 avatar  avatar  avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.