WakaTime is an open source Vim plugin for metrics, insights, and time tracking automatically generated from your programming activity.
-
With Vundle:
echo "Plugin 'wakatime/vim-wakatime'" >> ~/.vimrc && vim +PluginInstall
Or with Pathogen:
cd ~/.vim/bundle && git clone https://github.com/wakatime/vim-wakatime.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.Or with Vim 8+:
mkdir -p ~/.vim/pack/plugins/start && cd ~/.vim/pack/plugins/start && git clone https://github.com/wakatime/vim-wakatime.git
Or with Lazy.nvim: add to your plugins file.
{ 'wakatime/vim-wakatime', lazy = false }
-
Restart Vim.
-
If this is the first WakaTime plugin on your machine, type
:WakaTimeApiKey
inside Vim. -
Enter your API Key, then press
enter
. -
Use Vim and your coding activity will be displayed on your WakaTime dashboard.
:WakaTimeApiKey
- set or 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/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/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/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
Plugin 'wakatime/vim-wakatime'
from your.vimrc
file. -
Run in terminal:
rm ~/.wakatime.*
. -
Run in terminal:
vim +PluginClean
.
If using vim-plug
While in vim
-
Delete or comment out
Plug
command from .vimrc file. -
Reload vimrc (
:so ~/.vimrc
) or restart vim -
Run
:PlugClean
, it will detect and remove undeclared plugins.