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

VimGolfNight - 536 entries

Based on "The name of the game".

  • Best score: 12
  • Best player score: 12
  • Position: #13 / 343
  • Number of attempts: 2
Under the cupola - 49 entries

Taking some liberty about the name and plot of the Stephen King's famous novel (and TV series) to make this challenge. Are you able to recreate graphically the key phrase of the story? (I think is gonna be hard!)

  • Best score: 33
  • Best player score: 33
  • Position: #2 / 18
  • Number of attempts: 1
quotes inside quotes - 3125 entries

taken from tip 85 of the very good book 'Practical Vim: Edit Text at the Speed of Thought' ! I'd be interested what people use :)

  • Best score: 14
  • Best player score: 14
  • Position: #25 / 1072
  • Number of attempts: 3
Words in parens - 12854 entries

We should all ace this, right?

  • Best score: 13
  • Best player score: 14
  • Position: #65 / 3945
  • Number of attempts: 4
Hole-in-one - 1012 entries

Lets take this golf thing literally.. Drive off the tee into the hole, and of course you don't strike the ball completely clean.

  • Best score: 15
  • Best player score: 16
  • Position: #22 / 302
  • Number of attempts: 4
Lookahead and Lookbehind - 67 entries

Look everywhere

  • Best score: 16
  • Best player score: 16
  • Position: #2 / 29
  • Number of attempts: 2
replacing each line of a block selection - 2946 entries

replace each line's ../assets/js with /javascripts

  • Best score: 18
  • Best player score: 18
  • Position: #7 / 767
  • Number of attempts: 4
constructor - 180 entries

coding a constructor for a simple class

  • Best score: 59
  • Best player score: 67
  • Position: #11 / 58
  • Number of attempts: 7
un-C-escape string - 56 entries

Convert escape sequences to characters

  • Best score: 12
  • Best player score: 12
  • Position: #9 / 50
  • Number of attempts: 1
switch variable - 5031 entries

how fast can you switch two variable ?

  • Best score: 11
  • Best player score: 11
  • Position: #11 / 1735
  • Number of attempts: 2
Ugly spreadsheet copy/paste to CSV - 973 entries

convert an ugly spreadsheet copy/paste into a CSV format.

  • Best score: 19
  • Best player score: 23
  • Position: #60 / 185
  • Number of attempts: 2
Replacing some words - 419 entries

How fast could it be?

  • Best score: 17
  • Best player score: 17
  • Position: #5 / 148
  • Number of attempts: 8
PHP <--> Java class conversion Part 1 - 212 entries

Convert this tiny php class to adequate java one.

  • Best score: 65
  • Best player score: 67
  • Position: #4 / 61
  • Number of attempts: 8
Multiplication table. - 205 entries

Create a multiplication table.

  • Best score: 31
  • Best player score: 49
  • Position: #12 / 63
  • Number of attempts: 8
Sort the cardinal numbers - 293 entries

Maybe a simple challenge.

  • Best score: 12
  • Best player score: 12
  • Position: #20 / 146
  • Number of attempts: 2
formatted text to markdown - 183 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: 74
  • Position: #14 / 66
  • Number of attempts: 5
Make it more readable - 1952 entries

Insert blank lines to make it more organized and readable

  • Best score: 13
  • Best player score: 13
  • Position: #7 / 640
  • Number of attempts: 4
remove dupes from array - 1336 entries

given a random string that contains a ruby-esque array, make sure that there are no duplicate elements

  • Best score: 17
  • Best player score: 17
  • Position: #23 / 331
  • Number of attempts: 5
PHP <--> Java class conversion Part 2 - 96 entries

Same class but reverse!

  • Best score: 80
  • Best player score: 88
  • Position: #7 / 38
  • Number of attempts: 4
Alphabetize the directory - 283 entries

Put the contacts and their information in alphabetical order.

  • Best score: 30
  • Best player score: 30
  • Position: #3 / 99
  • Number of attempts: 6
PHP Array Syntax -> MailChimp Merge Syntax - 507 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: 23
  • Position: #10 / 148
  • Number of attempts: 5
Complete the hex array data - 195 entries

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

  • Best score: 23
  • Best player score: 24
  • Position: #5 / 72
  • Number of attempts: 5
Case preserving word replacement - 453 entries

Half way through my project, my people turned into dogs. Now I have to change everything in my source.

  • Best score: 19
  • Best player score: 19
  • Position: #34 / 179
  • Number of attempts: 3
Complete the hex array data (Part II) - 156 entries

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

  • Best score: 20
  • Best player score: 22
  • Position: #25 / 67
  • Number of attempts: 2
Sort entries based on date - 363 entries

Sort some entries in a Ledger-file based on date.

  • Best score: 11
  • Best player score: 11
  • Position: #19 / 114
  • Number of attempts: 3
Refactor to Helpers - 48 entries

This Rails partial is almost all template escapes. Put it into a helper, and refactor each case to methods so we can build out the controls for each. (I've converted to tabs - fighting with Vimgolf's default config shouldn't be part of the challenge.)

  • Best score: 147
  • Best player score: 176
  • Position: #7 / 23
  • Number of attempts: 1
Assignment Alignment - 832 entries

line up the operators. Use spaces, not tabs.

  • Best score: 18
  • Best player score: 18
  • Position: #22 / 215
  • Number of attempts: 4
Remove Accent off the Letter - 106 entries

Remove all the accent from extremely accented statements.

  • Best score: 37
  • Best player score: 54
  • Position: #10 / 49
  • Number of attempts: 2
Simple text editing with Vim - 12281 entries

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

  • Best score: 13
  • Best player score: 13
  • Position: #176 / 3580
  • Number of attempts: 3
Abdel Said
Twitter:

Hi, I'm Abdel

entered into 29 challenges

contributed 0 challenges