Vim plugin for automatic time tracking and metrics generated from your programming activity.
Python C Vim script
Switch branches/tags
Nothing to show


Quantify your coding inside Vim.


  1. Install Vundle, the Vim plugin manager.

  2. Using Vundle:
    echo "Bundle 'wakatime/vim-wakatime'" >> ~/.vimrc && vim +BundleInstall

or using Pathogen:
cd ~/.vim/bundle && git clone git://

  1. Enter your api key, then press enter.

  2. Use Vim and your coding activity will be displayed on your WakaTime dashboard.

Note: WakaTime depends on Python being installed to work correctly.

Screen Shots

Project Overview


Custom Commands:

  • :WakaTimeApiKey - change the api key saved in your ~/.wakatime.cfg
  • :WakaTimeDebugEnable - enable debug mode (may slow down Vim so disable when finished debugging)
  • :WakaTimeDebugDisable - disable debug mode
  • :WakaTimeScreenRedrawEnable - enable screen redraw to prevent artifacts
  • :WakaTimeScreenRedrawEnableAuto - redraw screen when plugin takes too long
  • :WakaTimeScreenRedrawDisable - disable screen redraw for performance

Vimrc Settings:

let g:wakatime_PythonBinary = '/usr/bin/python'

Tells the plugin to use a custom python binary. The default is to use python from your system PATH.

WakaTime Settings:

Add this line to your ~/.wakatime.cfg file to modify your screen redraw setting:

vi_redraw = enabled

Enables redrawing the screen after sending heartbeats, to prevent screen artifacts in case a key was pressed while the plugin executed. Valid values for vi_redraw are enabled, auto, and disabled.

Other WakaTime plugins also share this ~/.wakatime.cfg file. See all configs...


Run :WakaTimeDebugEnable in Vim then run this Terminal command:

tail -f ~/.wakatime.log

Enabling Debug Mode writes Vim Script errors to your Vim Status Bar and tells wakatime-cli to write verbose logs to $WAKATIME_HOME/.wakatime.log.

Debug mode can make it hard to find the real error because of all the extra logging, so also try disabling Debug Mode while tailing ~/.wakatime.log and editing files in Vim. With Debug Mode enabled, the plugin sends data synchronously so disable it when finished debugging with :WakaTimeDebugDisable.

The How to Debug Plugins guide shows how to check when coding activity was last received from Vim use the User Agents API. For more general troubleshooting info, see the wakatime-cli Troubleshooting Section.


Remove Bundle 'wakatime/vim-wakatime' from your .vimrc file, then delete your ~/.wakatime.cfg config file.