/vim-wakatime

Vim plugin for automatic time tracking and metrics generated from your programming activity.

Primary LanguagePythonBSD 3-Clause "New" or "Revised" LicenseBSD-3-Clause

vim-wakatime

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.

Installation

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

    Or with Pathogen: cd ~/.vim/bundle && git clone git://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.

  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

Configuring

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

Troubleshooting

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.

Uninstalling

  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.