Real Vim ninjas count every keystroke - do you?

Pick a challenge, fire up Vim, and show us what you got.

Changelog, Rules & FAQ, updates: @vimgolf, RSS.

Your VimGolf key: please sign in

$ gem install vimgolf
$ vimgolf setup
$ vimgolf put [challenge ID]

Played Challenges

Simple, Practical, and Common - 33647 entries

Simple things we do all the time should be able to be done with very few keystrokes, but sometimes I find something I need to do makes me go, "There MUST be a better way." This challenge is just a simple movement and entering text at a certain place.

  • Best score: 22
  • Best player score: 35
  • Position: #6546 / 7425
  • Number of attempts: 3
One number per line - 18749 entries

Just give me the numbers.

  • Best score: 14
  • Best player score: 24
  • Position: #3204 / 3867
  • Number of attempts: 1
V to the i - 4810 entries

Input is 99 V's. Output is 100 i's.

  • Best score: 7
  • Best player score: 9
  • Position: #1710 / 1896
  • Number of attempts: 2
Copy three lines - 2872 entries

If the site is up (by some miracle), make the text under every header identical.

  • Best score: 13
  • Best player score: 25
  • Position: #558 / 640
  • Number of attempts: 1
Extract argument from function - 2357 entries

The aim is to see if you can do some refactoring very fast.

  • Best score: 13
  • Best player score: 18
  • Position: #660 / 753
  • Number of attempts: 2
Search and Replace 0 - 4994 entries

Replace every instance of 'aaa' with 'xaaax'.

  • Best score: 12
  • Best player score: 16
  • Position: #1225 / 1627
  • Number of attempts: 3
Number Sort - 314 entries

sort the list of newline-separated numbers incrementally. Numbers are in the range 1 to 1000, with 500 missing

  • Best score: 9
  • Best player score: 9
  • Position: #35 / 166
  • Number of attempts: 2
Just the middle - 11464 entries

Delete the instructions at the top and bottom.

  • Best score: 7
  • Best player score: 12
  • Position: #4031 / 4202
  • Number of attempts: 1
Team names - 1836 entries

The team names are misspelled.

  • Best score: 16
  • Best player score: 23
  • Position: #541 / 588
  • Number of attempts: 3
Make HTML List - 1050 entries

Turn the comma separated list into an unordered html list.

  • Best score: 33
  • Best player score: 60
  • Position: #258 / 273
  • Number of attempts: 1
Remember VimGolf Rules ! - 261 entries

Rules, ... and don't forget !

  • Best score: 7
  • Best player score: 9
  • Position: #134 / 141
  • Number of attempts: 2
Order and join - 983 entries

There's something special about the input order.

  • Best score: 10
  • Best player score: 14
  • Position: #214 / 259
  • Number of attempts: 6
comments galore - 1045 entries

Basic comment reformatting

  • Best score: 10
  • Best player score: 19
  • Position: #407 / 424
  • Number of attempts: 3
Scrambled numbers - 807 entries

Four is NOT 1. One is 1.

  • Best score: 18
  • Best player score: 37
  • Position: #169 / 184
  • Number of attempts: 1
Collect List - 4305 entries

Convert to comma separated list.

  • Best score: 12
  • Best player score: 23
  • Position: #1148 / 1191
  • Number of attempts: 1
I forgot quotes - 15997 entries

Oops.

  • Best score: 10
  • Best player score: 19
  • Position: #3500 / 4184
  • Number of attempts: 3
Count both ways - 1022 entries

Right AND down.

  • Best score: 13
  • Best player score: 16
  • Position: #270 / 354
  • Number of attempts: 3
Gray area - 747 entries

It's a golf metaphor or something.

  • Best score: 11
  • Best player score: 14
  • Position: #234 / 271
  • Number of attempts: 4
Don't know what this is - 2022 entries

Replace contents of brackets with matching number of spaces. Don't ask what the format's supposed to be.

  • Best score: 11
  • Best player score: 16
  • Position: #525 / 585
  • Number of attempts: 3
A HAPPY NEW YEAR 2014 ! - 10672 entries

A HAPPY NEW YEAR 2014 !

  • Best score: 11
  • Best player score: 17
  • Position: #3396 / 3685
  • Number of attempts: 1
Groups magic - 161 entries

Regexp or macros for string converting: (a) -> ___ (abc) -> ____ (abcd) -> ______ All in the '(' replace to _ multiply by char count + ()

  • Best score: 13
  • Best player score: 17
  • Position: #90 / 94
  • Number of attempts: 2
The name of the game - 668 entries

End up with the name of the game.

  • Best score: 11
  • Best player score: 12
  • Position: #318 / 361
  • Number of attempts: 1
Let's play some Ivmgolf - 1118 entries

Oops, I spelled that wrong.

  • Best score: 7
  • Best player score: 14
  • Position: #427 / 445
  • Number of attempts: 1
Vertical Limit - 2540 entries

transform a succession of one word lines to a an array of strings

  • Best score: 21
  • Best player score: 29
  • Position: #641 / 755
  • Number of attempts: 3
switch variable - 5079 entries

how fast can you switch two variable ?

  • Best score: 11
  • Best player score: 13
  • Position: #1215 / 1749
  • Number of attempts: 6
Make it more readable - 2005 entries

Insert blank lines to make it more organized and readable

  • Best score: 13
  • Best player score: 19
  • Position: #574 / 650
  • Number of attempts: 7
The holy-grail may help - 368 entries

Can you find it in less than 20 strokes, Arthur?

  • Best score: 16
  • Best player score: 17
  • Position: #184 / 210
  • Number of attempts: 2
Ruby 1.9 hashes - 1244 entries

Rubyists talk about being cutting edge but how many are using 1.9 in production? Time to convert those verbose 1.8 hashes in to symbolic, succinct 1.9 beauties!

  • Best score: 12
  • Best player score: 19
  • Position: #356 / 406
  • Number of attempts: 2
Change the content of a string - 1588 entries

This docstring is a complete lie. Fix it.

  • Best score: 22
  • Best player score: 28
  • Position: #511 / 592
  • Number of attempts: 1
Simple text editing with Vim - 12856 entries

Make the pairs of lines match up by making each second line same as first

  • Best score: 13
  • Best player score: 18
  • Position: #2649 / 3707
  • Number of attempts: 5
z0c
Twitter:

automation churner; very focused on making things not happen at the moment

entered into 30 challenges

contributed 0 challenges