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 513b1dcd2d1ae10002000010

Sort the VimGolf challenges by popularity

"Sort by popularity" is a good order to play the challenges. Not perfect, but you could do a lot worse. ;) Input is a sample copy-pasted from vimgolf.com. Some of the challenge names have digits that will get in your way, so read ":help :sort" for hints on sorting with a regex. When you're done, try your solution on the full list!

Start file
replacing each line of a block selection - 809 entries

replace each line's ../assets/js with /javascripts
switch variable - 1197 entries

how fast can you switch two variable ?
Numbering a List - 914 entries

Pretty simple, number the list.
Context Insensitive completion 1 - 304 entries

Finish writing this simple Python HTTP server.
Search and Replace 0 - 1442 entries

Replace every instance of 'aaa' with 'xaaax'.
Wrap the text of an email message to 79 characters - 351 entries

You're replying to an email with silly long lines. Clean them up.
Sort and add attributes - 754 entries

Sort the states and add the attribute country to each record.
Whitespace, empty lines and tabs - 1470 entries

Convert tabs to spaces, strip empty lines and trailing whitespace.
Simple text editing with Vim - 3405 entries

Make the pairs of lines match up by making each second line same as first
Reformat/Refactor a Golfer Class - 2803 entries

A simple case of removing unneeded code and fixing broken indentation.
End file
Simple text editing with Vim - 3405 entries
Reformat/Refactor a Golfer Class - 2803 entries
Whitespace, empty lines and tabs - 1470 entries
Search and Replace 0 - 1442 entries
switch variable - 1197 entries
Numbering a List - 914 entries
replacing each line of a block selection - 809 entries
Sort and add attributes - 754 entries
Wrap the text of an email message to 79 characters - 351 entries
Context Insensitive completion 1 - 304 entries

View Diff

1,3c1,4
< replacing each line of a block selection - 809 entries
< 
< replace each line's ../assets/js with /javascripts
---
> Simple text editing with Vim - 3405 entries
> Reformat/Refactor a Golfer Class - 2803 entries
> Whitespace, empty lines and tabs - 1470 entries
> Search and Replace 0 - 1442 entries
5,9d5
< 
< how fast can you switch two variable ?
< Make it more readable - 741 entries
< 
< Insert blank lines to make it more organized and readable
11,18c7
< 
< Pretty simple, number the list.
< Search and Replace 0 - 1442 entries
< 
< Replace every instance of 'aaa' with 'xaaax'.
< Reconstruct the Sentence - 713 entries
< 
< Get the sentence back in the proper order, remove duplicate lines, and then combine the separate lines into one.
---
> replacing each line of a block selection - 809 entries
20,30c9,10
< 
< Sort the states and add the attribute country to each record.
< Whitespace, empty lines and tabs - 1470 entries
< 
< Convert tabs to spaces, strip empty lines and trailing whitespace.
< Simple text editing with Vim - 3405 entries
< 
< Make the pairs of lines match up by making each second line same as first
< Reformat/Refactor a Golfer Class - 2803 entries
< 
< A simple case of removing unneeded code and fixing broken indentation.
---
> Make it more readable - 741 entries
> Reconstruct the Sentence - 713 entries

Solutions

The best way to learn is to practice. Below, you will find some of the solutions other golfers have entered. To unlock higher ranked solutions, submit your own entry which does as well or better than the solutions you can currently see - climb the ladder!

Check out these helpful resources to improve your Vim skills... Game on.

Unlock 101 remaining solutions by signing in and submitting your own entry
#102 Christopher Gioia / @gioia_gioi - Score: 73 - 05/30/13 @ 04:12
:25y<CR>p:29y<CR>p:24y<CR>p:16y<CR>p:8y<CR>p:12y<CR>p:1d<CR>:6<CR>p:25y<CR>p:23y<CR>p:18y<CR>p:11,39d<CR>:x!<CR>

0 comments


Created by: @udioica

102 active golfers, 338 entries

Leaderboard (lowest score wins):
21
#91 - foo / @foo88832727

10/18/2013 at 09:29PM

21
#92 - Ψαροκροκέτα / @psarokroketa

07/30/2017 at 08:14AM

22
#93 - Trevor Powell / @DoomedBunnies

03/10/2013 at 10:29PM

24
#94 - Stefan Leszkiewicz / @stefanlz

06/16/2013 at 07:27AM

26
#95 - Andrew Burgess / @andrew8088

03/09/2013 at 02:50PM

27
#96 - Runar / @runarfu

03/10/2013 at 11:43AM

29
#97 - Stefan Antoni / @Suchkultur

06/13/2013 at 01:17PM

42
#98 - Leo Shemesh / @Leoncelot

05/06/2013 at 02:16PM

42
#99 - Gurukandhamoorthi / @Gurukandhamoor1

08/16/2017 at 03:52PM

47
#100 - modestas / @modstan

05/15/2013 at 08:16PM

71
#101 - Jun Isaji / @Jisaji

08/31/2019 at 09:54PM

73
#102 - Christopher Gioia / @gioia_gioi

05/30/2013 at 04:12AM