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

Search and Replace 0 - 4640 entries

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

  • Best score: 12
  • Best player score: 12
  • Position: #132 / 1537
  • Number of attempts: 5
Interweave two blocks of text - 562 entries

Suppose you've got data on a list of things from multiple sources. They're all in separate chunks, so how might you create a tabular output?

  • Best score: 15
  • Best player score: 17
  • Position: #91 / 203
  • Number of attempts: 1
Recursively Palindrome - 234 entries

Note that there are 2^6-1 characters.

  • Best score: 21
  • Best player score: 23
  • Position: #17 / 71
  • Number of attempts: 4
PHP <--> Java class conversion Part 1 - 188 entries

Convert this tiny php class to adequate java one.

  • Best score: 65
  • Best player score: 71
  • Position: #8 / 60
  • Number of attempts: 5
Sort the cardinal numbers - 268 entries

Maybe a simple challenge.

  • Best score: 12
  • Best player score: 14
  • Position: #84 / 138
  • Number of attempts: 1
Line Zipper - 430 entries

Zip/pair related lines.

  • Best score: 12
  • Best player score: 14
  • Position: #68 / 203
  • Number of attempts: 2
PHP <--> Java class conversion Part 2 - 84 entries

Same class but reverse!

  • Best score: 80
  • Best player score: 106
  • Position: #12 / 36
  • Number of attempts: 1
Alphabetize the directory - 267 entries

Put the contacts and their information in alphabetical order.

  • Best score: 30
  • Best player score: 51
  • Position: #90 / 96
  • Number of attempts: 1
Complete the hex array data - 190 entries

Do not use external tools(e.g. tac, seq) [My interpretation of Rule #7]

  • Best score: 23
  • Best player score: 25
  • Position: #20 / 72
  • Number of attempts: 4
Complete the hex array data (Part II) - 135 entries

Do not use external tools(e.g. tac, seq) [My interpretation of Rule #7]

  • Best score: 20
  • Best player score: 22
  • Position: #21 / 64
  • Number of attempts: 2
Numbering a List - 1826 entries

Pretty simple, number the list.

  • Best score: 13
  • Best player score: 19
  • Position: #181 / 623
  • Number of attempts: 5
Shebangs for all - 1763 entries

We've all seen or used a shebang once or twice. Ditch the specific paths and leave just a dynamic Ruby and Python bath behind.

  • Best score: 11
  • Best player score: 12
  • Position: #97 / 466
  • Number of attempts: 8
Letters are numbers - 128 entries

Letters and numbers are interchangeable. A lot of programming languages give you simple ways to convert individual letters to hex, binary and decimal but does Vim?

  • Best score: 20
  • Best player score: 26
  • Position: #27 / 67
  • Number of attempts: 3
Reverse Simple Deletion - 754 entries

You did the simple deletion, now reverse it.

  • Best score: 11
  • Best player score: 12
  • Position: #197 / 427
  • Number of attempts: 2
Fix the Haiku - 261 entries

Change this slightly scrambled haiku to its unscrambled form and fix the capitalisation and punctuation along the way.

  • Best score: 28
  • Best player score: 33
  • Position: #20 / 105
  • Number of attempts: 4
Compile C - 306 entries

You might have to get clever to do this one.

  • Best score: 19
  • Best player score: 21
  • Position: #40 / 119
  • Number of attempts: 2
Reformat most common surnames - 580 entries

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

  • Best score: 23
  • Best player score: 25
  • Position: #35 / 185
  • Number of attempts: 9
Remember FizzBuzz? - 569 entries

Output FizzBuzz to 100. Start with nothing.

  • Best score: 39
  • Best player score: 61
  • Position: #97 / 164
  • Number of attempts: 2
Change the content of a string - 1341 entries

This docstring is a complete lie. Fix it.

  • Best score: 22
  • Best player score: 22
  • Position: #59 / 517
  • Number of attempts: 3
Deleting folded text - 285 entries

The text below contains three folds. Delete them (and the text inside them). For example: 123 456 /*{{{*/ 789 /*}}}*/ 012 Should become: 123 012 Also, add `aoeuaoeu` to make sure small solutions don't get flagged as cheating.

  • Best score: 17
  • Best player score: 20
  • Position: #41 / 104
  • Number of attempts: 3
Whitespace, empty lines and tabs - 2928 entries

Convert tabs to spaces, strip empty lines and trailing whitespace.

  • Best score: 16
  • Best player score: 19
  • Position: #146 / 657
  • Number of attempts: 7
Simple text editing with Vim - 11589 entries

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

  • Best score: 13
  • Best player score: 13
  • Position: #29 / 3402
  • Number of attempts: 7
Reformat/Refactor a Golfer Class - 5974 entries

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

  • Best score: 32
  • Best player score: 41
  • Position: #787 / 1475
  • Number of attempts: 1
Tim Tsu
Twitter:

entered into 23 challenges

contributed 0 challenges