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 500855e60599d90002000073

Convert pandoc unordered list to a numbered list

I know it's possible to use #. in pandoc to auto-generate numbered lists, but then it's not easy to tell how many items there are when reading it in Markdown. How fast can you make the switch?

Start file
My cursor happens to be on this line

## Here is my unordered list
   * item 1
      + it has some sub-items
         - sometimes it has sub-sub-items
      - i list some information about it
   * here is another item
   * and another
      - with some random sub-item
      - maybe with something in **bold** to make asterisks suck
   * woohoo I'm listing stuff like mad
   * I'm a mad pandoc'ing fool
      - long-live **John MacFarlane**!
      + reasons why pandoc is awesome
         - there's just too many list
         - but i'll put some more sub-sub-items for example
         - superfluous - and + to make matching them a pain
   * woo look at these sexy bullet points
   * you almost don't want to turn them into integers
   * but then you do because you know it's the right thing to do

## Here's some other stuff in the file
   * blah blah blah
   * maybe I should go with #. but then it's not readable in txt format
End file
My cursor happens to be on this line

## Here is my unordered list
   1. item 1
      + it has some sub-items
         - sometimes it has sub-sub-items
      - i list some information about it
   2. here is another item
   3. and another
      - with some random sub-item
      - maybe with something in **bold** to make asterisks suck
   4. woohoo I'm listing stuff like mad
   5. I'm a mad pandoc'ing fool
      - long-live **John MacFarlane**!
      + reasons why pandoc is awesome
         - there's just too many list
         - but i'll put some more sub-sub-items for example
         - superfluous - and + to make matching them a pain
   6. woo look at these sexy bullet points
   7. you almost don't want to turn them into integers
   8. but then you do because you know it's the right thing to do

## Here's some other stuff in the file
   * blah blah blah
   * maybe I should go with #. but then it's not readable in txt format

View Diff

4c4
<    * item 1
---
>    1. item 1
8,9c8,9
<    * here is another item
<    * and another
---
>    2. here is another item
>    3. and another
12,13c12,13
<    * woohoo I'm listing stuff like mad
<    * I'm a mad pandoc'ing fool
---
>    4. woohoo I'm listing stuff like mad
>    5. I'm a mad pandoc'ing fool
19,21c19,21
<    * woo look at these sexy bullet points
<    * you almost don't want to turn them into integers
<    * but then you do because you know it's the right thing to do
---
>    6. woo look at these sexy bullet points
>    7. you almost don't want to turn them into integers
>    8. but then you do because you know it's the right thing to do

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 56 remaining solutions by signing in and submitting your own entry
#57 RusAlex Pletnev / @RusAlexander - Score: 69 - 07/25/12 @ 19:03
/* <CR>r1yawqqnvp<C-A><Esc>ur2nr3nnr4uuuur1nr2nr3nr<Esc><Esc>nr4nr5nr6nr7nr8:%s/\d/&.<CR>ZZ

0 comments


Created by: @connermcd

57 active golfers, 166 entries

Leaderboard (lowest score wins):
20
#1 - Urtica dioica / @udioica

06/25/2015 at 08:40PM

20
#2 - John Braxler / @braxler

09/28/2018 at 01:41PM

20
#3 - Miłosz Łakomy / @foobar01123

10/14/2020 at 11:30AM

20
#4 - Alex / @AlexanderHeatl2

07/07/2022 at 11:38PM

20
#5 - Qing Liu / @poeminlash

08/14/2022 at 04:12AM

20
#6 - Peppa Pig / @PeppaPigSg

07/03/2024 at 06:55AM

22
#7 - Sebastian Kusnier / @skusnier

07/22/2012 at 04:38PM

22
#8 - Frank Twitting / @knarfben

07/23/2012 at 01:56PM

22
#9 - wes / @_weslly

07/23/2012 at 03:00PM

22
#10 - James Davis / @tripvg

08/14/2012 at 04:07AM

22
#11 - Daniël De Koker / @daniel_koker

07/18/2018 at 03:29PM

23
#12 - Conner McDaniel / @connermcd

07/20/2012 at 03:40AM

23
#13 - Tim Chase / @gumnos

07/20/2012 at 01:27PM

24
#14 - Kerson Hsiao / @KersonHsiao

07/20/2012 at 09:20AM

24
#15 - Justin Love / @wondible

07/20/2012 at 01:34PM

24
#16 - q_revert / @q_revert

07/20/2012 at 02:21PM

24
#17 - Raúl Jara / @rauljara

07/20/2012 at 04:42PM

24
#18 - Peter Anselmo / @peter_anselmo

07/28/2012 at 03:25PM

24
#19 - Sean Griffin / @sgrif

08/12/2012 at 11:25PM

24
#20 - lwjef / @lwjef

08/17/2012 at 12:30AM

24
#21 - Rod Knowlton / @codelahoma

08/17/2012 at 09:13PM

24
#22 - Édouard M'tou / @DouardM

10/09/2012 at 07:59AM

24
#23 - Victor Ramirez / @virako

10/18/2012 at 01:08AM

24
#24 - pftb12345 / @pftb12345

04/28/2015 at 11:31PM

24
#25 - RockerZZY / @rocker_zzy

08/27/2020 at 02:33PM

24
#26 - russellzhaomao / @russellzhaomao

06/05/2022 at 09:01AM

25
#27 - Sebastian Korten / @FlashKorten

07/20/2012 at 07:06AM

25
#28 - Steve Tjoa / @stevetjoa

08/09/2013 at 09:40PM

25
#29 - jolka / @jolka19296078

05/23/2014 at 11:50PM

25
#30 - Tamas Gal (Tom) / @tamasgal

09/28/2015 at 01:33PM