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 5486c522908f4600023c53fa

Test everything!

... and build the desired input data structure. Transform a list of values into a non-trivial format.

Start file
        { changed_field => 'lorem', old_value => 'a', new_value => 'b' },
lorem ipsum dolor sit amet elitr sed diam non umy eir mod tempor invi dunt lab ore
dol1 dol2 dol3 dol4 dol5 dol6 dol7 dol8 dol9 dol10 mag1 mag2 mag3 mag4 mag5 mag6 mag7 mag8 mag9 mag10
End file
        { changed_field => 'lorem', old_value => 'a', new_value => 'b' },
        { changed_field => 'ipsum', old_value => 'a', new_value => 'b' },
        { changed_field => 'dolor', old_value => 'a', new_value => 'b' },
        { changed_field => 'sit', old_value => 'a', new_value => 'b' },
        { changed_field => 'amet', old_value => 'a', new_value => 'b' },
        { changed_field => 'elitr', old_value => 'a', new_value => 'b' },
        { changed_field => 'sed', old_value => 'a', new_value => 'b' },
        { changed_field => 'diam', old_value => 'a', new_value => 'b' },
        { changed_field => 'non', old_value => 'a', new_value => 'b' },
        { changed_field => 'umy', old_value => 'a', new_value => 'b' },
        { changed_field => 'eir', old_value => 'a', new_value => 'b' },
        { changed_field => 'mod', old_value => 'a', new_value => 'b' },
        { changed_field => 'tempor', old_value => 'a', new_value => 'b' },
        { changed_field => 'invi', old_value => 'a', new_value => 'b' },
        { changed_field => 'dunt', old_value => 'a', new_value => 'b' },
        { changed_field => 'lab', old_value => 'a', new_value => 'b' },
        { changed_field => 'ore', old_value => 'a', new_value => 'b' },
        { changed_field => 'dol1', old_value => 'a', new_value => 'b' },
        { changed_field => 'dol2', old_value => 'a', new_value => 'b' },
        { changed_field => 'dol3', old_value => 'a', new_value => 'b' },
        { changed_field => 'dol4', old_value => 'a', new_value => 'b' },
        { changed_field => 'dol5', old_value => 'a', new_value => 'b' },
        { changed_field => 'dol6', old_value => 'a', new_value => 'b' },
        { changed_field => 'dol7', old_value => 'a', new_value => 'b' },
        { changed_field => 'dol8', old_value => 'a', new_value => 'b' },
        { changed_field => 'dol9', old_value => 'a', new_value => 'b' },
        { changed_field => 'dol10', old_value => 'a', new_value => 'b' },
        { changed_field => 'mag1', old_value => 'a', new_value => 'b' },
        { changed_field => 'mag2', old_value => 'a', new_value => 'b' },
        { changed_field => 'mag3', old_value => 'a', new_value => 'b' },
        { changed_field => 'mag4', old_value => 'a', new_value => 'b' },
        { changed_field => 'mag5', old_value => 'a', new_value => 'b' },
        { changed_field => 'mag6', old_value => 'a', new_value => 'b' },
        { changed_field => 'mag7', old_value => 'a', new_value => 'b' },
        { changed_field => 'mag8', old_value => 'a', new_value => 'b' },
        { changed_field => 'mag9', old_value => 'a', new_value => 'b' },
        { changed_field => 'mag10', old_value => 'a', new_value => 'b' },

View Diff

2,3c2,37
< lorem ipsum dolor sit amet elitr sed diam non umy eir mod tempor invi dunt lab ore
< dol1 dol2 dol3 dol4 dol5 dol6 dol7 dol8 dol9 dol10 mag1 mag2 mag3 mag4 mag5 mag6 mag7 mag8 mag9 mag10
---
>         { changed_field => 'ipsum', old_value => 'a', new_value => 'b' },
>         { changed_field => 'dolor', old_value => 'a', new_value => 'b' },
>         { changed_field => 'sit', old_value => 'a', new_value => 'b' },
>         { changed_field => 'amet', old_value => 'a', new_value => 'b' },
>         { changed_field => 'elitr', old_value => 'a', new_value => 'b' },
>         { changed_field => 'sed', old_value => 'a', new_value => 'b' },
>         { changed_field => 'diam', old_value => 'a', new_value => 'b' },
>         { changed_field => 'non', old_value => 'a', new_value => 'b' },
>         { changed_field => 'umy', old_value => 'a', new_value => 'b' },
>         { changed_field => 'eir', old_value => 'a', new_value => 'b' },
>         { changed_field => 'mod', old_value => 'a', new_value => 'b' },
>         { changed_field => 'tempor', old_value => 'a', new_value => 'b' },
>         { changed_field => 'invi', old_value => 'a', new_value => 'b' },
>         { changed_field => 'dunt', old_value => 'a', new_value => 'b' },
>         { changed_field => 'lab', old_value => 'a', new_value => 'b' },
>         { changed_field => 'ore', old_value => 'a', new_value => 'b' },
>         { changed_field => 'dol1', old_value => 'a', new_value => 'b' },
>         { changed_field => 'dol2', old_value => 'a', new_value => 'b' },
>         { changed_field => 'dol3', old_value => 'a', new_value => 'b' },
>         { changed_field => 'dol4', old_value => 'a', new_value => 'b' },
>         { changed_field => 'dol5', old_value => 'a', new_value => 'b' },
>         { changed_field => 'dol6', old_value => 'a', new_value => 'b' },
>         { changed_field => 'dol7', old_value => 'a', new_value => 'b' },
>         { changed_field => 'dol8', old_value => 'a', new_value => 'b' },
>         { changed_field => 'dol9', old_value => 'a', new_value => 'b' },
>         { changed_field => 'dol10', old_value => 'a', new_value => 'b' },
>         { changed_field => 'mag1', old_value => 'a', new_value => 'b' },
>         { changed_field => 'mag2', old_value => 'a', new_value => 'b' },
>         { changed_field => 'mag3', old_value => 'a', new_value => 'b' },
>         { changed_field => 'mag4', old_value => 'a', new_value => 'b' },
>         { changed_field => 'mag5', old_value => 'a', new_value => 'b' },
>         { changed_field => 'mag6', old_value => 'a', new_value => 'b' },
>         { changed_field => 'mag7', old_value => 'a', new_value => 'b' },
>         { changed_field => 'mag8', old_value => 'a', new_value => 'b' },
>         { changed_field => 'mag9', old_value => 'a', new_value => 'b' },
>         { changed_field => 'mag10', old_value => 'a', new_value => 'b' },

Solutions by @GavinKoeng:

Unlock 19 remaining solutions by signing in and submitting your own entry
Created by: @Someone_Busy

56 active golfers, 206 entries

Solutions by @GavinKoeng:
22
#8 - Gavin / @GavinKoeng

04/24/2026 at 01:12AM

22
#>8 - Gavin / @GavinKoeng

04/24/2026 at 01:13AM

23
#>12 - Gavin / @GavinKoeng

04/24/2026 at 01:11AM

24
#>14 - Gavin / @GavinKoeng

04/24/2026 at 01:10AM

25
#>20 - Gavin / @GavinKoeng

04/24/2026 at 01:10AM

26
#>22 - Gavin / @GavinKoeng

04/24/2026 at 01:10AM

27
#>23 - Gavin / @GavinKoeng

04/24/2026 at 01:09AM

29
#>25 - Gavin / @GavinKoeng

04/24/2026 at 01:09AM

31
#>27 - Gavin / @GavinKoeng

04/24/2026 at 01:09AM

32
#>31 - Gavin / @GavinKoeng

04/24/2026 at 01:08AM

33
#>36 - Gavin / @GavinKoeng

04/24/2026 at 01:08AM

34
#>41 - Gavin / @GavinKoeng

04/24/2026 at 01:08AM

36
#>43 - Gavin / @GavinKoeng

04/24/2026 at 01:07AM

37
#>44 - Gavin / @GavinKoeng

04/24/2026 at 01:07AM

39
#>45 - Gavin / @GavinKoeng

04/24/2026 at 01:06AM

40
#>48 - Gavin / @GavinKoeng

04/24/2026 at 01:06AM

44
#>53 - Gavin / @GavinKoeng

04/24/2026 at 01:05AM

45
#>53 - Gavin / @GavinKoeng

04/24/2026 at 01:03AM

56
#>55 - Gavin / @GavinKoeng

04/24/2026 at 01:02AM