Skip to content


Subversion checkout URL

You can clone with
Download ZIP
CLI client for
Ruby Emacs Lisp
branch: master
Failed to load latest commit information.
emacs Change version number
lib bump to 0.4.8 (bugfix)
spec cleanup spec infrastructure
.gitignore don't version lockfile
.gitmodules Setup feature testing with ecukes.
.rspec grrr, rspec + autotest is pain
Gemfile update readme, add link to emacs mode
Rakefile cleanup spec infrastructure
vimgolf.gemspec Write all input/output files correctly Client

Real Vim ninjas count every keystroke - do you? Head on over to, pick a challenge, and show us what you've got!

  • Each challenge provides an input file, and an output file
  • Your goal is to modify the input file such that it matches the output
  • Once you install the vimgolf CLI, pick a challenge, open a prompt and put away!

When you launch a challenge from the command line, it will be downloaded from the site and a local Vim session will be launched, which will log every keystroke you make. Once you're done, simply :wq (write and quit) the session and we will score your input and upload it back to the site!

Setup & Play

$> gem install vimgolf

(Go to, sign in, and grab your API key)
$> vimgolf setup 

(Pick a challenge on
$> vimgolf put [challenge ID]

Emacs: yes, it is true, you can play vimgolf in emacs too!

Patches, tips and ideas are welcome!


(MIT License) - Copyright (c) 2010 Ilya Grigorik

Something went wrong with that request. Please try again.