Skuld is a pomodoro timer that runs inside Vim. It can help you track your tasks in an simple (or stupid) way.
Please send pull requests to https://github.com/l04m33/vim-skuld
Skuld depends on +python or +python3, as well as +clientserver.
Nothing else is needed.
Vundle is recommended.
After a successful installation, these commands are available:
SkuldStartTimer <task_id>: Start the pomodoro timerSkuldStopTimer: Stop the pomodoro timerSkuldStartTask <task_id>: Switch current task. The timer will be started if it's stoppedSkuldSwitchTask <task_id>: Switch current taskSkuldGetState: Display current timer stateSkuldBufOpen: 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.
nnoremap <leader>sb :SkuldBufOpen<cr>
nnoremap <leader>ss :SkuldGetState<cr>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 = 29This Vim plugin is licensed under the terms of the MIT license.
