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

Interweave two blocks of text - 659 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: 21
  • Position: #181 / 214
  • Number of attempts: 4
you're stuck on jQuery < 1.7 - 362 entries

replace calls to jQuery 1.7+'s `on` with calls to pre 1.7 `bind`

  • Best score: 25
  • Best player score: 47
  • Position: #106 / 113
  • Number of attempts: 1
Switch function arguments - 2139 entries

How to switch two arguments of a function.

  • Best score: 11
  • Best player score: 17
  • Position: #617 / 663
  • Number of attempts: 3
Remove noise from HTTP log - 717 entries

This piece of log (from the year 2000) contains some irrelevant data. We only want to see the HTTP method and resource.

  • Best score: 15
  • Best player score: 16
  • Position: #148 / 273
  • Number of attempts: 2
Remove semicolons after expressions - 654 entries

A follow-up for http://vimgolf.com/challenges/4fc9d767d3a0d4000100000e.

  • Best score: 6
  • Best player score: 10
  • Position: #242 / 263
  • Number of attempts: 1
Replacing some words - 428 entries

How fast could it be?

  • Best score: 17
  • Best player score: 22
  • Position: #80 / 151
  • Number of attempts: 3
formatted text to markdown - 184 entries

You're converting some posts from an old blog to markdown. The formatted text is far closer to the finished product than the html markup, so it seems like a good place to start. Word wrapping seems to be the main area for optimization.

  • Best score: 70
  • Best player score: 81
  • Position: #48 / 67
  • Number of attempts: 1
Line Zipper - 473 entries

Zip/pair related lines.

  • Best score: 12
  • Best player score: 36
  • Position: #212 / 215
  • Number of attempts: 1
PHP Array Syntax -> MailChimp Merge Syntax - 545 entries

I recently needed to send an e-mail to our marketing department listing allowed merge tags for our MailChimp campaigns. The allowed merge tags were determined from a PHP array in one of our PHP classes. I transformed the PHP class to MailChimp's syntax and sent the e-mail. It was, however, a long, laborious process. I'm still fairly new to Vim and would love to see how an expert Vim user would tackle one of my own, real-world problems. Thanks and have fun!

  • Best score: 23
  • Best player score: 46
  • Position: #121 / 150
  • Number of attempts: 2
Generate Fibonacci Numbers - 280 entries

Use your super vim powers to generate Fibonacci Numbers.

  • Best score: 19
  • Best player score: 32
  • Position: #93 / 100
  • Number of attempts: 2
It'ss tooo coold too typpe todaay - 224 entries

My hands are numb with cold. It's hard to type correctly.

  • Best score: 16
  • Best player score: 23
  • Position: #45 / 98
  • Number of attempts: 3
HTML to Haml - 878 entries

Help convert this HTML page to Haml.

  • Best score: 23
  • Best player score: 45
  • Position: #141 / 204
  • Number of attempts: 1
expand a list comprehension (python) - 333 entries

Please show your way to convert a list comprehension in python to an ordinary for-loop expression!

  • Best score: 42
  • Best player score: 58
  • Position: #72 / 109
  • Number of attempts: 2
Generate English Alphabets - 487 entries

Start with a, get up to z.

  • Best score: 19
  • Best player score: 25
  • Position: #72 / 206
  • Number of attempts: 3
Insert a Markdown link - 438 entries

Put a link in a markdown document, using the after-the-paragraph format.

  • Best score: 22
  • Best player score: 29
  • Position: #122 / 146
  • Number of attempts: 2
Numbering a List - 1931 entries

Pretty simple, number the list.

  • Best score: 13
  • Best player score: 23
  • Position: #452 / 652
  • Number of attempts: 3
The holy-grail may help - 366 entries

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

  • Best score: 16
  • Best player score: 16
  • Position: #46 / 209
  • Number of attempts: 3
Shebangs for all - 1998 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: 17
  • Position: #334 / 515
  • Number of attempts: 3
A Simple One - 1048 entries

Here is a very simple one - just to illustrate/introduce a vim feature that some people seem to miss...

  • Best score: 9
  • Best player score: 9
  • Position: #126 / 663
  • Number of attempts: 1
Another Mixed-Up Haiku - 257 entries

VimGolf ... a perfect evening?

  • Best score: 21
  • Best player score: 31
  • Position: #69 / 89
  • Number of attempts: 2
Reverse Simple Deletion - 847 entries

You did the simple deletion, now reverse it.

  • Best score: 11
  • Best player score: 12
  • Position: #152 / 458
  • Number of attempts: 1
The Cake is a Lie - 1344 entries

Correct the capitalization of each word

  • Best score: 9
  • Best player score: 10
  • Position: #316 / 526
  • Number of attempts: 5
Context Insensitive completion 1 - 497 entries

Finish writing this simple Python HTTP server.

  • Best score: 18
  • Best player score: 18
  • Position: #40 / 244
  • Number of attempts: 3
Almost encrypted - 204 entries

Convert the first paragraph to be even less readable.

  • Best score: 5
  • Best player score: 5
  • Position: #32 / 146
  • Number of attempts: 1
Make Fancy Header - 1046 entries

Make the header text stand out with surrounding asterisks

  • Best score: 15
  • Best player score: 17
  • Position: #160 / 343
  • Number of attempts: 4
Reformat most common surnames - 717 entries

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

  • Best score: 23
  • Best player score: 29
  • Position: #109 / 210
  • Number of attempts: 1
Get rid of html tags - 398 entries

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

  • Best score: 12
  • Best player score: 27
  • Position: #218 / 230
  • Number of attempts: 1

Contributed Challenges

Insert a Markdown link - 438 entries

Put a link in a markdown document, using the after-the-paragraph format.

James Cash
Twitter:

Computer engineer that loves programming, math, science, and lifting heavy shit.

entered into 27 challenges

contributed 1 challenges