sponsor Vim development Vim logo Vim Book Ad

vikitasks : A "distributed" todo lists manager for viki (with limited support for todo.txt)

 script karma  Rating 20/5, Downloaded by 4257  Comments, bugs, improvements  Vim wiki

created by
Tom Link
script type
vikitasks is a distributed todo lists manager. It provides a quick
overview of priority/task lists maintained in several viki files.
Depending on your settings, you can quickly search all "homepages"
of intervikis or search only project-specific files. Buffers
containing task lists are added to the list of vikitasks. There is
also an option to view a list of current tasks on startup.



    - Collect tasks from viki's priority lists (see |viki-tasks|)
    - Sort those tasks
    - Browse tasks with a given date
    - Optionally browse all tasks (incl. those without a date)

Let's say you have the files:

foo.txt: >
    * Foo
        #A 2009-12-13 Do this
        #C 2009-12-20 :call @Anna What was it she wanted to tell me?
        #A Whatever

bar.txt: >
    * Bar
        #C 2009-12-24 :call @Bernie Wish him good luck
        #D 2009-11-01 Do that

Let's assume you have added both files to |g:vikitasks#files|. Switch to
the buffer foo.txt and call >


and you get the following list: >

    Bar.txt|2| #D 2009-11-01 Do that
    Foo.txt|2| #A 2009-12-13 Do this
    Foo.txt|3| #C 2009-12-20 Call @Anna
    Bar.txt|3| #C 2009-12-24 Wish @Bernie good luck

If you do/had done this on the 15 December 2009, the third line would be
highlighted, i.e. the entries above the cursor refer to passed/missed
events. If you had called :VikiTasks! (behold the bang), then the
"Whatever" entry would have been included in the list too.

If you had called >
    :VikiTasks current

only the first two items would be listed.

This week's tasks (i.e. the tasks that should be accomplished today or
within the following six days) could be listed with >
    :VikiTasks 6

Also available via git
install details
Edit the vba file and type: >

    :so %

See :help vimball for details. If you have difficulties or use vim 7.0,
please make sure, you have the current version of vimball
(vimscript #1502) installed or update your runtime.

This script requires tlib (vimscript #1863), trag (vimscript #2033), and
viki (vimscript #861) to be installed.

rate this script Life Changing Helpful Unfulfilling 
script versions (upload new version)

Click on the package to download.

package script version date Vim version user release notes
vikitasks.vba 1.02 2015-11-09 7.0 Tom Link - Fix variable name in doc
- Grammar tweaks
- Doc edits and rename three functions
- <f2>k: Select items in a certain category
- intervikis config went to vikitasks#ft#viki#intervikis
- intervikis config moved
- g:vikitasks_startup_alarms is an expression
- vikitasks#OnLeave(): Don't use :wall but :update on each modified buffer
- vikitasks#OnLeave(): Make sure to scan changed buffers on leave
- s:ScanFiles(): for i in reverse(remove_tasks
- Prepare for taskpaper support
- Initial support for taskpaper
- VikiTasksDueInMonths
- CLOSE #8: g:vikitasks#rx_letters -> g:vikitasks#rx_categories in docs (thanks Garonenur)
- ftplugin/viki: let b:vikiSpecialProtocols .= '\|todo'
- resolve() dir names
- ftplugin/todotxt: let g:vikiOpenUrlWith_todo = 'call vikitasks#ft#todotxt#OpenTodoUrl(''%{URL}'')'
- viki/GetFiles(): Fix iv_include/iv_exclude
- Adapt for tlib 1.15 etc.
- vikitasks#FormatQFLE: Use tlib#qfl#QfeFilename
- FIX #9: adapt for use of tlib 1.16; misc enhancements
- Use tlib#file#Glob()
- vikitasks#AgentPaste: check range
- s/TLibTrace/Tlibtrace/g
MD5 checksum: 0716a81d4db8946d8b81ecacc289011d
vikitasks.vba 1.01 2014-11-02 7.0 Tom Link - Support for threshold dates (t:YYYY-MM-DD)
- IsThresholdOk(): ignore "t:" prefix
- g:vikitasks#threshold_days: Hide tasks with due dates N days in the future
- ScanFiles(): Avoid random error and display a message
- ScanFiles(): Display error message for unknown buffers
- Clean up task lines (e.g. remove "t:" threshold tags)
- Use index_next_syntax for customization
- Use set_syntax & format_item
- vikitasks#SetSyntax(): Define vikitasksItem syntax; set b:vikiMarkInexistent = 0
- vikitasks#SetSyntax(): Hide some dates
- Show progressbar more often
- AgentDueWeeks, AgentDueDays: Abort correctly when pressing <c-c>
- todotxt: ConvertLine(): Don't add default due date if g:vikitasks#ft#todotxt#due_default is empty
- g:vikitasks#auto_save: f true, save _all_ modified buffers via |:wall|, when leaving the tasks list.
- g:vikitasks#ft#todotxt#respect_h1: hide lines containing a h:1 tag in todo.txt files (used by SimpleTask app)
- Require tlib 1.06 & trag 1.02
MD5 checksum: b20334cce201fa22484ea6bc523f7eb4
vikitasks.vba 1.00 2014-04-02 7.0 Tom Link - Help template
- FIX Don't call VikiTasksDueInDays & VikiTasksDueInWeeks with <count>
- <c-n> Paste selected items into a new window
- Rewrite A
- Remove s:files (use s:file_defs instead)
- Full support for todo.txt (requires trag 0.12)
- Correctly set today marker for last but one item
- g:vikitasks#filetype_map
- todo.txt: Improved support for changing the category/priority
- .ArchiveHeader(): type error
- FIX support for scanning intervikis
- :VikiTasksAlarms: FIX bang value
- #AfterChange hook
- g:vikitasks#rx_letters defaults to 'A-P'
- Renamed g:vikitasks#rx_letters to g:vikitasks#rx_categories
- g:vikitasks#alarms: Support for persistent_categories (always include tasks in these categories in the "Alarms" list)
- FIX Use g:vikitasks#rx_categories in todotxt.vim
- g:vikitasks#alarms.persistent_categories defaults to [A]
- g:vikitasks#cache_check_mtime: Detect files that were changed by external programs based on mtime
- s:GetTasks() if g:vikitasks#cache_check_mtime: Remove obsolete filename
- g:vikitasks#cache_check_mtime_rx (replaces g:vikitasks#cache_check_mtime)
- Checking g:vikitasks#cache_check_mtime_rx actually works (properly init trag)
- g:vikitasks_startup_alarms defaults to 0 (without user intervention don't display alarms on startup)
- g:vikitasks#after_change_buffer_exec: Run command after changing a buffer
- g:vikitasks#use_unspecified_dates default to 1
- scriptencoding utf-8
- g:vikitasks#files_ignored defaults to ['_archived\.[^.]\+$']
- g:vikitasks#convert_cygwin
- Misc improvements
- Load cached data only once
- FIX: duplicate entries
MD5 checksum: f1556492bc4b63a0275c2bf6f37141fe
vikitasks.vba 0.06 2013-10-18 7.0 Tom Link - Check the value of g:tlib_filename_sep instead of !&shellslash
- addon-info
- <c-c>, <localleader>tc: Change a task's category
- If g:vikitasks#files contains glob patterns, make sure to remove duplicates
- s:AddInterVikis(): move adding of dir/pattern to s:AddDirPattern()
- viki maps: Remove count with <c-u> from maps
- Adapt for tlib 1.06
- NEW :VikiTasksPaste command: paste vikitasks items to a (new) buffer (closes #4)
- Small docs tweaks
- Make display of pasted tasks list configurable via g:vikitasks#paste
- Do doc tweaks on source instead
- Merge branch 'master' of https://github.com/tomtom/vikitasks_vim>- Typo
- We're using N for [count], right?
- Consider [count]
MD5 checksum: 7d53532b805b741dd90d65def5b546f1
vikitasks.vba 0.05 2012-09-28 7.0 Tom Link - Duplicate tag in help file
- g:vikitasks#today: show a break line in suspended list views
- VikiTasks: Files pattern arguments sometimes got lost
- Files patterns were ignored when working with a cached list
- g:vikitasks#today: Changed to "DUE"
- Integration with/dependency on viki_vim is now optional
- Check has('vim_starting') when running vikitasks#Alarm()
- Experimental support for todo.txt task lists (requires trag 0.10)
- Improved regexps for todotxt files
- s:Convert(): Run at most 5 iterations when replacing keywords
- Access trag_filenames through rag#HasFiletype() and trag#SetFiletype()
- g:vikitasks#ignore_completed_tasks:  If true, completely ignore completed tasks (fixes #1)
- g:vikitasks_startup_alarms default value: don't display the alarms list if vim is called with an argument
- When calling glob() for intervikis, make sure to scan subdirectories
- Keyboard shortcuts for mark done, archive done, list files etc.
- Minor changes to how constraints work & new commands: mark done, set due date, archive final/done tasks etc. (require tlib 1.0)
- g:vikitasks#use_calendar: use |:Calendar| as date picker
MD5 checksum: 4bf05727153faee87e36a28483e12211
vikitasks.vba 0.04 2012-01-21 7.0 Tom Link - s:GetCurrentTask(): skip pending tasks (date = '_')
- VikiTasksStatic (by tub78)
- .gitignore
- Don't check for has('vim_starting')
MD5 checksum: 2f8c5fc7e4399d35f9f0a8b9a4ea9fef
vikitasks.vba 0.03 2010-11-06 7.0 Tom Link - g:vikitasks#remove_unreadable_files: Remove unreadable files
- FIX: remove buffers with no tasks from the list
- g:vikitasks#use_unspecified_dates: Interpret entries with an unspecified date ("_") as current tasks
- g:vikitasks_startup_alarms doesn't assume a special case for gtk
- Load viki if it wasn't loaded yet
- If g:vikitasks#intervikis == 2, scan all interviki pages (not just the homepage)
- Run VimEnter command immediately if !has('vim_stating')
- FIX: rx didn't match entries with no text
MD5 checksum: b1157748e17e1f667c443d0e1d273e41
vikitasks.vba 0.2b 2010-03-31 7.0 Tom Link - :VikiTasks now takes a pattern as optional second argument. This change makes the :VikiTasksGrep command obsolete, which was removed.
- Moved the definition of some variables from plugin/vikitasks.vim to autoload/vikitasks.vim
- Scan buffers on save
- Require tlib 0.37
- The arguments for :VikiTasks have changed
vikitasks.vba.gz 0.1 2009-12-21 7.0 Tom Link Initial upload
ip used for rating:

If you have questions or remarks about this site, visit the vimonline development pages. Please use this site responsibly.
Questions about Vim should go to the maillist. Help Bram help Uganda.
Vim at Github