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 51b4e3b920faf70002000001

Number an outline

The indent and words are right, but the numbers are all wrong.

Start file
1. One
  1. One
    1. One
  1. Two
    1. One
    1. Two
      1. One
    1. Three
    1. Four
  1. Three
    1. One
      1. One
      1. Two
    1. Two
  1. Four
    1. One
    1. Two
    1. Three
    1. Four
    1. Five
    1. Six
  1. Five
    1. One
    1. Two
    1. Three
1. Two
  1. One
    1. One
    1. Two
    1. Three
    1. Four
    1. Five
  1. Two
End file
1. One
  1. One
    1. One
  2. Two
    1. One
    2. Two
      1. One
    3. Three
    4. Four
  3. Three
    1. One
      1. One
      2. Two
    2. Two
  4. Four
    1. One
    2. Two
    3. Three
    4. Four
    5. Five
    6. Six
  5. Five
    1. One
    2. Two
    3. Three
2. Two
  1. One
    1. One
    2. Two
    3. Three
    4. Four
    5. Five
  2. Two

View Diff

4c4
<   1. Two
---
>   2. Two
6c6
<     1. Two
---
>     2. Two
8,10c8,10
<     1. Three
<     1. Four
<   1. Three
---
>     3. Three
>     4. Four
>   3. Three
13,15c13,15
<       1. Two
<     1. Two
<   1. Four
---
>       2. Two
>     2. Two
>   4. Four
17,22c17,22
<     1. Two
<     1. Three
<     1. Four
<     1. Five
<     1. Six
<   1. Five
---
>     2. Two
>     3. Three
>     4. Four
>     5. Five
>     6. Six
>   5. Five
24,26c24,26
<     1. Two
<     1. Three
< 1. Two
---
>     2. Two
>     3. Three
> 2. Two
29,33c29,33
<     1. Two
<     1. Three
<     1. Four
<     1. Five
<   1. Two
---
>     2. Two
>     3. Three
>     4. Four
>     5. Five
>   2. Two

Solutions by @GavinKoeng:

Unlock 35 remaining solutions by signing in and submitting your own entry
Created by: @udioica

79 active golfers, 315 entries

Solutions by @GavinKoeng:
25
#7 - Gavin / @GavinKoeng

05/22/2026 at 06:03PM

28
#>9 - Gavin / @GavinKoeng

05/22/2026 at 06:02PM

29
#>11 - Gavin / @GavinKoeng

05/22/2026 at 06:02PM

30
#>14 - Gavin / @GavinKoeng

05/22/2026 at 06:01PM

34
#>23 - Gavin / @GavinKoeng

05/22/2026 at 06:00PM

36
#>24 - Gavin / @GavinKoeng

05/22/2026 at 06:00PM

37
#>25 - Gavin / @GavinKoeng

05/22/2026 at 05:59PM

38
#>25 - Gavin / @GavinKoeng

05/22/2026 at 05:59PM

40
#>32 - Gavin / @GavinKoeng

05/22/2026 at 05:56PM

41
#>33 - Gavin / @GavinKoeng

05/22/2026 at 05:56PM

43
#>35 - Gavin / @GavinKoeng

05/22/2026 at 05:56PM

46
#>36 - Gavin / @GavinKoeng

05/22/2026 at 05:55PM

48
#>38 - Gavin / @GavinKoeng

05/22/2026 at 05:54PM

49
#>39 - Gavin / @GavinKoeng

05/22/2026 at 05:52PM

51
#>40 - Gavin / @GavinKoeng

05/22/2026 at 05:52PM

52
#>42 - Gavin / @GavinKoeng

05/22/2026 at 05:51PM

54
#>44 - Gavin / @GavinKoeng

05/22/2026 at 05:50PM

55
#>45 - Gavin / @GavinKoeng

05/22/2026 at 05:49PM

56
#>45 - Gavin / @GavinKoeng

05/22/2026 at 05:49PM

59
#>50 - Gavin / @GavinKoeng

05/22/2026 at 05:48PM

60
#>51 - Gavin / @GavinKoeng

05/22/2026 at 05:48PM

61
#>53 - Gavin / @GavinKoeng

05/22/2026 at 05:47PM

64
#>57 - Gavin / @GavinKoeng

05/22/2026 at 05:46PM

65
#>58 - Gavin / @GavinKoeng

05/22/2026 at 05:44PM

65
#>58 - Gavin / @GavinKoeng

05/22/2026 at 05:45PM

66
#>62 - Gavin / @GavinKoeng

05/22/2026 at 05:44PM

67
#>64 - Gavin / @GavinKoeng

05/22/2026 at 05:43PM

68
#>66 - Gavin / @GavinKoeng

05/22/2026 at 05:42PM

69
#>68 - Gavin / @GavinKoeng

05/22/2026 at 05:40PM

70
#>69 - Gavin / @GavinKoeng

05/22/2026 at 05:40PM

71
#>71 - Gavin / @GavinKoeng

05/22/2026 at 05:37PM

73
#>72 - Gavin / @GavinKoeng

05/22/2026 at 05:36PM

80
#>73 - Gavin / @GavinKoeng

05/22/2026 at 05:35PM

82
#>75 - Gavin / @GavinKoeng

05/22/2026 at 05:33PM

118
#>78 - Gavin / @GavinKoeng

05/22/2026 at 05:31PM