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 32 remaining solutions by signing in and submitting your own entry
#33 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

33 active golfers, 95 entries

Leaderboard (lowest score wins):
99
#31 - Asenar / @asenar

06/02/2012 at 08:24PM

111
#32 - Nik Johnson / @JumpandSpinWin

06/01/2012 at 06:55PM

128
#33 - Jason Felice / @eraserhd

06/19/2012 at 11:39PM