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 4fbf8e303be58b0001000024

Format the output

Sometimes your standard out is a little hard to read. Take this multilevel hash and make it human readable.

Start file
{Vertex('x'): {Vertex('v'): Edge(Vertex('v'), Vertex('x')), Vertex('z'): Edge(Vertex('z'), Vertex('x')), Vertex('y'): Edge(Vertex('y'), Vertex('x'))}, Vertex('y'): {Vertex('x'): Edge(Vertex('y'), Vertex('x')), Vertex('w'): Edge(Vertex('w'), Vertex('y')), Vertex('z'): Edge(Vertex('z'), Vertex('y'))}, Vertex('z'): {Vertex('x'): Edge(Vertex('z'), Vertex('x')), Vertex('y'): Edge(Vertex('z'), Vertex('y')), Vertex('u'): Edge(Vertex('u'), Vertex('z'))}, Vertex('u'): {Vertex('v'): Edge(Vertex('v'), Vertex('u')), Vertex('w'): Edge(Vertex('w'), Vertex('u')), Vertex('z'): Edge(Vertex('u'), Vertex('z'))}, Vertex('v'): {Vertex('u'): Edge(Vertex('v'), Vertex('u')), Vertex('x'): Edge(Vertex('v'), Vertex('x')), Vertex('w'): Edge(Vertex('w'), Vertex('v'))}, Vertex('w'): {Vertex('u'): Edge(Vertex('w'), Vertex('u')), Vertex('v'): Edge(Vertex('w'), Vertex('v')), Vertex('y'): Edge(Vertex('w'), Vertex('y'))}}
End file
{
 
Vertex('x'): {
   
Vertex('v'): Edge(Vertex('v'), Vertex('x')),
   
Vertex('z'): Edge(Vertex('z'), Vertex('x')),
   
Vertex('y'): Edge(Vertex('y'), Vertex('x'))
 
},
 
Vertex('y'): {
   
Vertex('x'): Edge(Vertex('y'), Vertex('x')),
   
Vertex('w'): Edge(Vertex('w'), Vertex('y')),
   
Vertex('z'): Edge(Vertex('z'), Vertex('y'))
 
},
 
Vertex('z'): {
   
Vertex('x'): Edge(Vertex('z'), Vertex('x')),
   
Vertex('y'): Edge(Vertex('z'), Vertex('y')),
   
Vertex('u'): Edge(Vertex('u'), Vertex('z'))
 
},
 
Vertex('u'): {
   
Vertex('v'): Edge(Vertex('v'), Vertex('u')),
   
Vertex('w'): Edge(Vertex('w'), Vertex('u')),
   
Vertex('z'): Edge(Vertex('u'), Vertex('z'))
 
},
 
Vertex('v'): {
   
Vertex('u'): Edge(Vertex('v'), Vertex('u')),
   
Vertex('x'): Edge(Vertex('v'), Vertex('x')),
   
Vertex('w'): Edge(Vertex('w'), Vertex('v'))
 
},
 
Vertex('w'): {
   
Vertex('u'): Edge(Vertex('w'), Vertex('u')),
   
Vertex('v'): Edge(Vertex('w'), Vertex('v')),
   
Vertex('y'): Edge(Vertex('w'), Vertex('y'))
 
}
}

View Diff

1c1,32
< {Vertex('x'): {Vertex('v'): Edge(Vertex('v'), Vertex('x')), Vertex('z'): Edge(Vertex('z'), Vertex('x')), Vertex('y'): Edge(Vertex('y'), Vertex('x'))}, Vertex('y'): {Vertex('x'): Edge(Vertex('y'), Vertex('x')), Vertex('w'): Edge(Vertex('w'), Vertex('y')), Vertex('z'): Edge(Vertex('z'), Vertex('y'))}, Vertex('z'): {Vertex('x'): Edge(Vertex('z'), Vertex('x')), Vertex('y'): Edge(Vertex('z'), Vertex('y')), Vertex('u'): Edge(Vertex('u'), Vertex('z'))}, Vertex('u'): {Vertex('v'): Edge(Vertex('v'), Vertex('u')), Vertex('w'): Edge(Vertex('w'), Vertex('u')), Vertex('z'): Edge(Vertex('u'), Vertex('z'))}, Vertex('v'): {Vertex('u'): Edge(Vertex('v'), Vertex('u')), Vertex('x'): Edge(Vertex('v'), Vertex('x')), Vertex('w'): Edge(Vertex('w'), Vertex('v'))}, Vertex('w'): {Vertex('u'): Edge(Vertex('w'), Vertex('u')), Vertex('v'): Edge(Vertex('w'), Vertex('v')), Vertex('y'): Edge(Vertex('w'), Vertex('y'))}}
---
> {
>   Vertex('x'): {
>     Vertex('v'): Edge(Vertex('v'), Vertex('x')),
>     Vertex('z'): Edge(Vertex('z'), Vertex('x')),
>     Vertex('y'): Edge(Vertex('y'), Vertex('x'))
>   },
>   Vertex('y'): {
>     Vertex('x'): Edge(Vertex('y'), Vertex('x')),
>     Vertex('w'): Edge(Vertex('w'), Vertex('y')),
>     Vertex('z'): Edge(Vertex('z'), Vertex('y'))
>   },
>   Vertex('z'): {
>     Vertex('x'): Edge(Vertex('z'), Vertex('x')),
>     Vertex('y'): Edge(Vertex('z'), Vertex('y')),
>     Vertex('u'): Edge(Vertex('u'), Vertex('z'))
>   },
>   Vertex('u'): {
>     Vertex('v'): Edge(Vertex('v'), Vertex('u')),
>     Vertex('w'): Edge(Vertex('w'), Vertex('u')),
>     Vertex('z'): Edge(Vertex('u'), Vertex('z'))
>   },
>   Vertex('v'): {
>     Vertex('u'): Edge(Vertex('v'), Vertex('u')),
>     Vertex('x'): Edge(Vertex('v'), Vertex('x')),
>     Vertex('w'): Edge(Vertex('w'), Vertex('v'))
>   },
>   Vertex('w'): {
>     Vertex('u'): Edge(Vertex('w'), Vertex('u')),
>     Vertex('v'): Edge(Vertex('w'), Vertex('v')),
>     Vertex('y'): Edge(Vertex('w'), Vertex('y'))
>   }
> }

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 39 remaining solutions by signing in and submitting your own entry
#40 Jason Felice / @eraserhd - Score: 128 - 06/19/12 @ 23:39
:%s/\({\|)), \|))\)<BS>\<BS>|}, \|}\)/\1<C-V><CR>/g<CR>:33d<CR>:%s/}, /},<CR>:3,5><CR>u:set sw=2<CR>:3,5><CR>:8,10><CR>:13,15><CR>:18,20><CR>:23,25><CR>:28,30><CR>:2,31><CR>:wq<CR>

0 comments


Created by: @philosodad

40 active golfers, 146 entries

Leaderboard (lowest score wins):
69
#31 - John Whitley / @johnwhitley

05/28/2012 at 05:57PM

75
#32 - Scott Nielsen / @smniel

05/25/2012 at 10:34PM

75
#33 - Daniel Lundin / @danielundin

05/28/2012 at 09:19AM

77
#34 - Dan Dorman / @dandorman

05/25/2012 at 04:32PM

84
#35 - Jacob Vosmaer / @jacobvosmaer

06/03/2012 at 01:01PM

85
#36 - Dave@Highgroove / @HighgrooveDave

05/31/2012 at 04:54PM

98
#37 - Thijs Brobbel / @tiesmaster

05/29/2012 at 12:46PM

99
#38 - Asenar / @asenar

06/02/2012 at 08:24PM

111
#39 - Nik Johnson / @JumpandSpinWin

06/01/2012 at 06:55PM

128
#40 - Jason Felice / @eraserhd

06/19/2012 at 11:39PM