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

you're stuck on jQuery < 1.7 - 325 entries

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

  • Best score: 25
  • Best player score: 47
  • Number of attempts: 1
Switch function arguments - 1905 entries

How to switch two arguments of a function.

  • Best score: 11
  • Best player score: 17
  • Number of attempts: 3
Remove noise from HTTP log - 631 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
  • Number of attempts: 2
Remove semicolons after expressions - 499 entries

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

  • Best score: 6
  • Best player score: 10
  • Number of attempts: 1
Replacing some words - 405 entries

How fast could it be?

  • Best score: 17
  • Best player score: 22
  • Number of attempts: 3
PHP Array Syntax -> MailChimp Merge Syntax - 440 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
  • Number of attempts: 2
formatted text to markdown - 175 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
  • Number of attempts: 1
Line Zipper - 402 entries

Zip/pair related lines.

  • Best score: 12
  • Best player score: 36
  • Number of attempts: 1
Interweave two blocks of text - 523 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
  • Number of attempts: 4
Numbering a List - 1768 entries

Pretty simple, number the list.

  • Best score: 13
  • Best player score: 23
  • Number of attempts: 3
expand a list comprehension (python) - 267 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
  • Number of attempts: 2
HTML to Haml - 759 entries

Help convert this HTML page to Haml.

  • Best score: 23
  • Best player score: 45
  • Number of attempts: 1
Generate English Alphabets - 425 entries

Start with a, get up to z.

  • Best score: 19
  • Best player score: 25
  • Number of attempts: 3
Insert a Markdown link - 392 entries

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

  • Best score: 22
  • Best player score: 29
  • Number of attempts: 2
It'ss tooo coold too typpe todaay - 199 entries

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

  • Best score: 16
  • Best player score: 23
  • Number of attempts: 3
Generate Fibonacci Numbers - 211 entries

Use your super vim powers to generate Fibonacci Numbers.

  • Best score: 19
  • Best player score: 32
  • Number of attempts: 2
The holy-grail may help - 304 entries

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

  • Best score: 16
  • Best player score: 16
  • Number of attempts: 3
Shebangs for all - 1694 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
  • Number of attempts: 3
Almost encrypted - 176 entries

Convert the first paragraph to be even less readable.

  • Best score: 5
  • Best player score: 5
  • Number of attempts: 1
Reverse Simple Deletion - 739 entries

You did the simple deletion, now reverse it.

  • Best score: 11
  • Best player score: 12
  • Number of attempts: 1
Make Fancy Header - 929 entries

Make the header text stand out with surrounding asterisks

  • Best score: 16
  • Best player score: 17
  • Number of attempts: 4
The Cake is a Lie - 1168 entries

Correct the capitalization of each word

  • Best score: 9
  • Best player score: 10
  • Number of attempts: 5
Another Mixed-Up Haiku - 206 entries

VimGolf ... a perfect evening?

  • Best score: 21
  • Best player score: 31
  • Number of attempts: 2
A Simple One - 862 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
  • Number of attempts: 1
Context Insensitive completion 1 - 405 entries

Finish writing this simple Python HTTP server.

  • Best score: 18
  • Best player score: 18
  • Number of attempts: 3
Get rid of html tags - 319 entries

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

  • Best score: 15
  • Best player score: 27
  • Number of attempts: 1
Reformat most common surnames - 539 entries

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

  • Best score: 23
  • Best player score: 29
  • Number of attempts: 1

Contributed Challenges

Insert a Markdown link - 392 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