Skip to content

oller/vimgym

Repository files navigation

VimGym

Netlify Status

This was built using:

Vite, Tanstack Start, Tailwind CSS, Motion.dev, Codemirror and CodeMirror-Vim.

It was built using Neovim and sometimes Antigravity. The LLMs used were Gemini 3.5 Pro and Opus, they were mainly deployed to port vimsplain.py to Typescript and in testing.

To do:

  • Some sort of token parsing so the motion log can group and show the actual motion (all the libs I've found related to this seem abandoned)
  • For each level, also store the perfect answer - so a user can compare how far they are off optimum (level selector could represent this per level)
  • Analytics (using vexo) to record level score events to crowd-source optimum scores. Payload { level, score, keystrokes }
  • Don't just record the perfectScore as a number, but also the keystrokes and surface these to the user if they want to see them
  • Consider publishing vimsplain.ts as a package
  • Consider how we can improve Codemirror vim to support text objects
  • Perhaps a sense of medals based on how far you are off optimum
  • Theme picker
  • Crowd source submissions for levels?