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

Wrap the text of an email message to 79 characters - 576 entries

You're replying to an email with silly long lines. Clean them up.

  • Best score: 5
  • Best player score: 5
  • Position: #153 / 352
  • Number of attempts: 1
Search and Replace 0 - 4651 entries

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

  • Best score: 12
  • Best player score: 12
  • Position: #186 / 1541
  • Number of attempts: 5
Swap assigned value - 556 entries

Simple problem but looking for interesting solutions.

  • Best score: 10
  • Best player score: 11
  • Position: #113 / 235
  • Number of attempts: 1
Change your calendar - 279 entries

Happy New Year!

  • Best score: 18
  • Best player score: 33
  • Position: #39 / 77
  • Number of attempts: 2
fib.c cleanup - 58 entries

cleanup the file

  • Best score: 15
  • Best player score: 16
  • Position: #21 / 50
  • Number of attempts: 1
REDRUM - 139 entries

If you remember "The Shinning", the first time you saw the bloody word REDRUM you probably thinked "What the Hell is that?" Well, then you know that you need a little help from a looking-glass to make sense of it. Now it's time to use vim like a mirror to reveal the message.

  • Best score: 14
  • Best player score: 17
  • Position: #33 / 58
  • Number of attempts: 2
Enumerate words - 232 entries

Enumerate the unique words in order.

  • Best score: 23
  • Best player score: 26
  • Position: #39 / 84
  • Number of attempts: 2
Harder than "abcd > a b c d" - 75 entries

Not as easy as the last challenge. This time, just one space between a and b, up to 25 spaces between y and z. (Removed some lines; diff was too long.)

  • Best score: 15
  • Best player score: 26
  • Position: #32 / 38
  • Number of attempts: 1
Transposition - 73 entries

Transpose the original lines in separate columns, one for each line.

  • Best score: 31
  • Best player score: 36
  • Position: #5 / 28
  • Number of attempts: 7
Block Fun 1 - 179 entries

Manipulate the columns to produce desired result.

  • Best score: 14
  • Best player score: 14
  • Position: #5 / 69
  • Number of attempts: 3
Groups magic - 141 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: 13
  • Position: #6 / 84
  • Number of attempts: 3
Prefixes and suffixes - 567 entries

Generate all prefixes of "vimchallenge", then all suffixes.

  • Best score: 17
  • Best player score: 28
  • Position: #110 / 185
  • Number of attempts: 1
abcd > a b c d - 260 entries

transform the single spaces into 4 spaces repeat for each line

  • Best score: 15
  • Best player score: 15
  • Position: #54 / 204
  • Number of attempts: 1
Python: Lots of function arguments - 81 entries

The function definition is too long for one line. The modeline helps you with some typical Python indent settings.

  • Best score: 13
  • Best player score: 14
  • Position: #21 / 40
  • Number of attempts: 3
A simple change - 396 entries

Just change the numbers in the most efficient way ...

  • Best score: 12
  • Best player score: 14
  • Position: #68 / 175
  • Number of attempts: 3
lamb had a little Mary - 559 entries

"Mary" and "lamb" are swapped. Unswap them. Fast as you can.

  • Best score: 16
  • Best player score: 17
  • Position: #26 / 157
  • Number of attempts: 2
Stairs Indenting - 424 entries

Indent each line with <line number> whitespaces.

  • Best score: 12
  • Best player score: 14
  • Position: #91 / 183
  • Number of attempts: 1
Unwrap the text of an email message - 172 entries

Reverse of "Wrap the text of an email message to 79 characters". gq and gw are great for wrapping paragraphs. But sometimes other programs choke on your wrapped lines. What's the best way to un-gq?

  • Best score: 16
  • Best player score: 23
  • Position: #37 / 68
  • Number of attempts: 3
Let's play some Ivmgolf - 1005 entries

Oops, I spelled that wrong.

  • Best score: 7
  • Best player score: 7
  • Position: #21 / 418
  • Number of attempts: 5
Reverse characters in a line - 645 entries

You have everything you need, just not in the right order. Mastermind would give you 26 white pegs.

  • Best score: 12
  • Best player score: 13
  • Position: #49 / 236
  • Number of attempts: 1
Reformat most common surnames - 586 entries

Reformat copy-pasted table into a list of the most common surnames

  • Best score: 23
  • Best player score: 25
  • Position: #47 / 186
  • Number of attempts: 5
Get rid of html tags - 341 entries

Want to read more about Vim's background? Then get rid of those html tags...

  • Best score: 15
  • Best player score: 17
  • Position: #69 / 207
  • Number of attempts: 2
Change the content of a string - 1350 entries

This docstring is a complete lie. Fix it.

  • Best score: 22
  • Best player score: 22
  • Position: #89 / 521
  • Number of attempts: 3
Sort and add attributes - 1189 entries

Sort the states and add the attribute country to each record.

  • Best score: 33
  • Best player score: 33
  • Position: #131 / 483
  • Number of attempts: 2
Add fold markers to a .c file - 487 entries

Fold markers can make it easier to navigate source code. Add them to this .c file.

  • Best score: 30
  • Best player score: 36
  • Position: #89 / 158
  • Number of attempts: 2
Reconstruct the Sentence - 1151 entries

Get the sentence back in the proper order, remove duplicate lines, and then combine the separate lines into one.

  • Best score: 20
  • Best player score: 20
  • Position: #63 / 347
  • Number of attempts: 2
Simple text editing with Vim - 11625 entries

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

  • Best score: 13
  • Best player score: 16
  • Position: #2004 / 3411
  • Number of attempts: 1
Reformat/Refactor a Golfer Class - 6015 entries

A simple case of removing unneeded code and fixing broken indentation.

  • Best score: 32
  • Best player score: 33
  • Position: #215 / 1482
  • Number of attempts: 5

Contributed Challenges

XML to JSON - 44 entries

Convert this xml file into json.

Minimalist Limerick - 503 entries

Reproduce this lovely poem.

Alec Goebel
Twitter:

http://pastebin.com/3hWGButx

entered into 28 challenges

contributed 2 challenges