Real Vim ninjas count every keystroke - do you?

Pick a challenge, fire up Vim, and show us what you got.

Leaderboard, 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 32 remaining solutions by signing in and submitting your own entry
#33 James / @Dronak - Score: 38 - 09/24/14 @ 21:55
:4,21s/   \*/   1.<CR>8G<C-A>qqy /1<CR>pX<C-A>q5@qZZ

0 comments

#34 Arto Vuori / @dhpe - Score: 42 - 08/31/12 @ 18:42
/*<CR>r1a.<Esc>ylnr2pnr3p5nr4pnr5p5nr6pnr7pnr8pZZ

0 comments

#35 Yann Moisan / @YannMoisan - Score: 43 - 01/12/13 @ 17:11
:4,21s/ \* / 1. <CR>/1.<CR>n<C-A>n<C-A><C-A>n3<C-A>n4<C-A>n5<C-A>n6<C-A>n7<C-A>ZZ

0 comments

#36 J Paul Daigle / @jpauldaigle - Score: 46 - 07/23/12 @ 15:02
3+s1.<Esc>3++.h<C-A>j.s3.<Esc>4+.hk.h<C-A>j..6+s6.<Esc>+.h<C-A>js8.<Esc>ZZ

0 comments

#37 Слава / @slava_and_ipad - Score: 46 - 08/08/12 @ 11:17
/* <CR>s1.<Esc>ns2.<Esc>ns3.<Esc>nns4.<Esc>ns5.<Esc>ns6.<Esc>ns7.<Esc>ns8.<Esc>ZZ

0 comments

#38 Paul Anton Letnes / @Dynetrekk - Score: 50 - 08/21/12 @ 07:20
/ \* /b1<CR>s1.<Esc>ns2.<Esc>ns3.<Esc>ns4.<Esc>ns5.<Esc>ns6.<Esc>ns7.<Esc>ns8.<Esc>ZZ

0 comments

#39 Thijs Brobbel / @tiesmaster - Score: 51 - 07/30/12 @ 09:13
/^\s*\*/e<CR>s1.<Esc>ns2.<Esc>ns3.<Esc>ns4.<Esc>ns5.<Esc>ns6.<Esc>ns7.<Esc>ns8.<Esc>ZZ

0 comments

#40 Ravi S Sinha / @ambidextrousTx - Score: 51 - 09/09/12 @ 21:34
:let a=1<CR>qa/*<CR>cw<C-R>=a<CR>.<Esc>:let a+=1<CR>q2@a4n2@@4n3@@<Esc>:wq<CR>

0 comments

#41 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

41 active golfers, 116 entries

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

07/20/2012 at 01:08AM

22
#2 - Sebastian Kusnier / @skusnier

07/22/2012 at 04:38PM

22
#3 - Frank Twitting / @knarfben

07/23/2012 at 01:56PM

22
#4 - Dr. Funkenstein / @_weslly

07/23/2012 at 03:00PM

22
#5 - James Davis / @tripvg

08/14/2012 at 04:07AM

22
#6 - John Braxler / @braxler

07/31/2014 at 08:47PM

23
#7 - Conner McDaniel / @connermcd

07/20/2012 at 03:40AM

23
#8 - Tim Chase / @gumnos

07/20/2012 at 01:27PM

24
#9 - Kerson Hsiao / @KersonHsiao

07/20/2012 at 09:20AM

24
#10 - Justin Love / @wondible

07/20/2012 at 01:34PM

24
#11 - q_revert / @q_revert

07/20/2012 at 02:21PM

24
#12 - Raúl Jara / @rauljara

07/20/2012 at 04:42PM

24
#13 - Peter Anselmo / @peter_anselmo

07/28/2012 at 03:25PM

24
#14 - Sean Griffin / @sgrif

08/12/2012 at 11:25PM

24
#15 - 刘玮 / @lwjef

08/17/2012 at 12:30AM

24
#16 - Rod Knowlton / @codelahoma

08/17/2012 at 09:13PM

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

10/09/2012 at 07:59AM

24
#18 - Victor Ramirez / @virako

10/18/2012 at 01:08AM

24
#19 - pftb12345 / @pftb12345

04/28/2015 at 11:31PM

25
#20 - Sebastian Korten / @FlashKorten

07/20/2012 at 07:06AM

25
#21 - Steve Tjoa / @stevetjoa

08/09/2013 at 09:40PM

25
#22 - jolka / @jolka19296078

05/23/2014 at 11:50PM

26
#23 - Joonas Pihlajamaa / @jokkebk

03/16/2014 at 06:33PM

27
#24 - h_east (DDD ready) / @h_east

07/26/2012 at 02:26AM

27
#25 - Salvador / @smastermind

08/17/2012 at 11:11AM

28
#26 - Glen / @Glen_S

07/22/2012 at 08:03PM

29
#27 - Nipunn Koorapati / @nipunn1313

07/22/2012 at 05:56AM

29
#28 - Eric Söderström / @eksoderstrom

07/23/2012 at 03:26PM

29
#29 - 無ん垢の叫び / @john_ababa

09/16/2012 at 08:09AM

31
#30 - Chris Brown / @engineercyb

07/31/2012 at 07:58PM

32
#31 - Daniel Lundin / @danielundin

07/20/2012 at 12:15PM

32
#32 - makala noble / @mnoble01

11/13/2012 at 09:37AM

38
#33 - James / @Dronak

09/24/2014 at 09:55PM

42
#34 - Arto Vuori / @dhpe

08/31/2012 at 06:42PM

43
#35 - Yann Moisan / @YannMoisan

01/12/2013 at 05:11PM

46
#36 - J Paul Daigle / @jpauldaigle

07/23/2012 at 03:02PM

46
#37 - Слава / @slava_and_ipad

08/08/2012 at 11:17AM

50
#38 - Paul Anton Letnes / @Dynetrekk

08/21/2012 at 07:20AM

51
#39 - Thijs Brobbel / @tiesmaster

07/30/2012 at 09:13AM

51
#40 - Ravi S Sinha / @ambidextrousTx

09/09/2012 at 09:34PM

69
#41 - RusAlex Pletnev / @RusAlexander

07/25/2012 at 07:03PM