Skip to content


Switch branches/tags


Failed to load latest commit information.


Vim Neovim MacVim gVim Coding time tracker

WakaTime is an open source Vim plugin for metrics, insights, and time tracking automatically generated from your programming activity.


  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

    Or with Packer: add use 'wakatime/vim-wakatime' to your plugins file.

  2. Enter your api key, then press enter.

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

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

The vim-wakatime plugin automatically downloads and updates wakatime-cli in your $WAKATIME_HOME/.wakatime/ folder. WakaTime plugins also share a common $WAKATIME_HOME/.wakatime.cfg config file. $WAKATIME_HOME defaults to your $HOME folder.


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.