sponsor Vim development Vim logo Vim Book Ad

TimeKeeper : Time Tracking Utility

 script karma  Rating 6/3, Downloaded by 3165  Comments, bugs, improvements  Vim wiki

created by
Peter Antoine
script type
This is a git plugin that will track the time you spend working on a project.

This plugin will keep track of the time spent in the editor. Will try and workout how much time is being spent on the current activity, and it will track this data by project and the specific job within that project.

The times that are collected from the editor are stored in a simple comma separated timesheet. This should make it easy to use and import into different tools. It will stored by default in the $(HOME)/timesheet.tmk. This is obviously configurable.

This plugin will also allow for the timesheet data to be added as a git note. This will allow for the time to be read by software that can read the contents of these notes.

The git notes are only added to the current branch for the current job, hopefully this will reduce the problems that git-notes have with push/branching and merging.

The plugin will find other instances of vim with the plugin loaded, and the first one to load will become the master server. All other instances will send there updates to the server. If the current server disappears then the first to notice will become the new server. This will reduce the chance of two instances losing time updates from other servers.

More detailed information can be found at


Can you report any errors you find there.

Thank you.
install details
Copy into the usual location.

If your vim has been compiled with +clientserver then you will need to call TimeKeeper_StartTracking() once, and it will ask you for the name of the timetracking file. I would leave this as default, as the new location would have to be added to the .vimrc.

If you want to time-tracking to happen by default then the following should be added to the vimrc:

let g:TimeKeeperStartOnLoad = 1

This will cause the time tracking to start on load.

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
TimeKeeper-version_2.1.0.tar.gz 2.1.0 2013-05-07 7.3 Peter Antoine commit "closes" issued in redmine when issue is "completed"
Now marks the items that have notes on them.
stops messing up the yank buffer when windows update.
TimeKeeper-version_2.0.1.tar.gz 2.0.1 2013-04-26 7.3 Peter Antoine 1.4.1 - Added the tag support to the git hooks.
1.4.2 - Fixed the use of annotated tags and added to the githook the filter for the tag start.
2.0.0 - Added the task list window.
            Depreciated local file flag, now defaults to using a localfile if it finds one. Local file name has changed so does not pollute the working directory.
            Added the task notes window.
            Added multi-host/user time tracking.
            Fixed a couple of script issues.
2.0.1 - GitHub User: mhhf found the following two problems on the Mac:
             - Guard did not work correctly.
             - bash command not portable.
TimeKeeper-version_1.4.0.tar.gz 1.4.0 2013-03-15 7.3 Peter Antoine A few fixes, server disappearing spin, problem with double ## in redmine commit names, added time function, and fixed number of hours in a day problem.
TimeKeeper-version_1.2.0.tar.gz 1.2.0 2013-01-16 7.3 Peter Antoine Added new reporting functions.
Also, made the non-redmine commit message human readable. The old format is still available use set TIMEKEEPER_OUTPUT_RAW_TIMESTAMP=1 to get it.
TimeKeeper-version_1.1.4.tar.gz 1.1.4 2013-01-08 7.3 Peter Antoine Fixed number of hours in a day and the initial commit time was wrong.
TimeKeeper-version_1.1.0.tar.gz 1.1.0 2012-12-08 7.0 Peter Antoine Added support for amending git commits.

Added git prepare-commit-msg and a post-commit hook to handle this. If you are going to upgrade to this version from 1.0.0 you will need to add a column to the timekeeper.tmk file before you start vim, or you will lose the time tracked on OTHER projects that you have been working on. If you are only working on oe project then don't worry. Any future changes will be backwards compatible.
TimeKeeper-version_1.0.0.tar.gz 1.0.0 2012-12-02 7.0 Peter Antoine 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