A place for Deliberate Practice of Vim skills
Vim script
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.



If you like VimGym and want to share the W00t!, I’m grateful for tips or beverages.

The VimGym is your very own, private Vim workout space where you can work on your Vim Game, hone your skills and keep your edge. It is based on the principles of Deliberate Practice, which:

  • is explicitly intended to improve performance

  • concentrates on skills just beyond your level of competence

  • provides feedback on results

  • uses repetition to establish good habits

VimGym maintains a suite of tasks that it challenges you with and records your achievements on. It compares your current score with your prior scores and your Personal Best for each task. VimGym will re-test you more frequently on tasks that you achieve lower scores on, thereby forcing you to focus more on your weaker areas.

You can add your own challenges to VimGym. Share them with your friends.

VimGym is not meant for contest; as each individual’s playing field can differ wildly, comparing times is mostly meaningless.

Training in the VimGym

  • :VimGym do [<task-name>]

  • :VimGym add start|end <task-name>

  • :VimGym delete <task-name>

  • :VimGym stats [<task-name>]

:VimGym add is for managing your suite of tasks — the idea being, when in the middle of editing you become aware of something you should practice later, you can yank the necessary lines and paste them into a new buffer and :VimGym add start <taskname> the from half of the pair and then alter it to the desired form and run :VimGym add end <taskname>.

From within a VimGym pane, use:

  • :VGS — Call this when you are ready to start the editing task

  • :VGE — Call this when you are finished the task

  • :VGD — Toggle between normal view and diff view

As Yet Unimplemented

  • :VimGym — will spawn a new tab and set you off on a challenge. This may be a new challenge or a repeat, as determined by VimGym.