Skip to content
Vim plugin for automatic time tracking and metrics generated from your programming activity.
Python C Vim script
Branch: master
Clone or download

Latest commit


Type Name Latest commit message Commit time
Failed to load latest commit information.
doc remove redundant line Mar 13, 2019
packages/wakatime Upgrade wakatime-cli to v13.0.5 Feb 12, 2020
plugin bypass shell for NeoVim on Windows Jul 27, 2019
.gitignore Add doc/tags to .gitignore Nov 25, 2018
AUTHORS add Maxim to authors file Jul 3, 2017
HISTORY.rst changes for v8.0.0 Jun 24, 2019
LICENSE.txt remove redundant line Mar 13, 2019 fix badge locations Nov 28, 2019


Vim Neovim MacVim gVim Coding time tracker

Quantify your coding inside Vim.


  1. With Vundle: echo "Plugin 'wakatime/vim-wakatime'" >> ~/.vimrc && vim +PluginInstall

    Or with Pathogen: cd ~/.vim/bundle && git clone git://

    Or with Vim-plug: add Plug 'wakatime/vim-wakatime' to .vimrc file. While in vim reload .vimrc with :so ~/.vimrc or restart vim, enter :PlugInstall.

  2. Enter your api key, then press enter.

  3. 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



  • :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 (only for Vim < 8.0)
  • :WakaTimeScreenRedrawEnableAuto - redraw screen when plugin takes too long (only for Vim < 8.0)
  • :WakaTimeScreenRedrawDisable - disable screen redraw
  • :WakaTimeToday - echo your total coding activity for Today

Vimrc Settings:

let g:wakatime_PythonBinary = '/usr/bin/python'  " (Default: 'python')

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

let g:wakatime_OverrideCommandPrefix = '/usr/bin/wakatime'  " (Default: '')

Overrides the WakaTime CLI command prefix. You might need this when running wakatime-cli with a custom wrapper script or from the pip installed binary. Normally, the bundled wakatime-cli is used so this setting is not needed.

WakaTime plugins also share a common ~/.wakatime.cfg config file. See common 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.


  1. Remove Plugin 'wakatime/vim-wakatime' from your .vimrc file.

  2. Run in terminal: rm ~/.wakatime.*.

  3. Run in terminal: vim +PluginClean.

If using vim-plug

While in vim

  1. Delete or comment out Plug command from .vimrc file.

  2. Reload vimrc (:so ~/.vimrc) or restart vim

  3. Run :PlugClean, it will detect and remove undeclared plugins.

You can’t perform that action at this time.