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 559e6360b6f8bd0f17010b61

Make HTML List

Turn the comma separated list into an unordered html list.

Start file
item1,item2,item3,item4,item5
End file
<ul>
	<li>item1</li>
	<li>item2</li>
	<li>item3</li>
	<li>item4</li>
	<li>item5</li>
</ul>

View Diff

1c1,7
< item1,item2,item3,item4,item5
---
> <ul>
> 	<li>item1</li>
> 	<li>item2</li>
> 	<li>item3</li>
> 	<li>item4</li>
> 	<li>item5</li>
> </ul>

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 248 remaining solutions by signing in and submitting your own entry
#249 s-hue / @hue1127 - Score: 208 - 07/14/15 @ 00:24
i<ul><Esc>A<\<BS>/ul><Esc>:s\(\w\d\),*/\t<li>\q<\/li>\r/g<CR>hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhha<CR><Esc>:<BS>:s/,/<\.<BS>/li>/g<CR>wwlla<CR><Esc>llllllllla<CR><Esc>llllllllla<CR><Esc>llllllllla<CR><Esc>lllla<CR>k<BS><Esc>kk$hhhhveelyjp0kkkk<C-V>jjjjI<Tab><Esc>jkl<C-V>jjjjjkI<li><Esc>j<Esc>:w<CR><Esc>:wq!<CR>

0 comments


Created by: @compilejason

249 active golfers, 917 entries

Leaderboard (lowest score wins):
50
#181 - Slavisa Djukic / @ssdjuka

09/30/2015 at 09:42PM

50
#182 - Brad / @b2test

10/21/2015 at 09:48AM

50
#183 - Bogumił Kamiński / @BogumilKaminski

10/25/2015 at 04:42PM

50
#184 - Árpád Krejczinger / @krarpi

11/02/2015 at 04:34PM

50
#185 - Mendel Simon / @agentms11

12/13/2015 at 12:47AM

50
#186 - Laurent Atlan / @laurentatlan1

01/11/2016 at 11:39PM

50
#187 - Cristian Lupașcu / @clupasq

02/25/2016 at 09:57AM

50
#188 - George Angelopoulos / @g_usermod

08/04/2016 at 10:10PM

50
#189 - Herbert S. / @herbertshlong

08/10/2016 at 12:53AM

50
#190 - caplod / @caplod

03/26/2017 at 03:07PM

50
#191 - slicklash / @slicklash

03/29/2018 at 12:54PM

50
#192 - Bitt Faulk / @bittfaulk

02/18/2020 at 10:10PM

51
#193 - aisapatino / @aisapatino

07/27/2015 at 05:13AM

51
#194 - Yang Pengcheng / @nail1208

08/16/2015 at 03:35PM

51
#195 - alex / @alexAngle8

08/22/2015 at 04:16AM

51
#196 - ren / @wxoc

10/13/2015 at 08:29PM

51
#197 - Anshu Avinash / @anshu_avinash

10/17/2015 at 10:01PM

51
#198 - Wilmer Bandres / @WilmerBandres

12/01/2015 at 11:40PM

51
#199 - Ashley Ryan / @aviendha25

12/21/2015 at 05:41PM

51
#200 - Austin Wood / @indiesquidge

01/27/2016 at 05:46PM

51
#201 - Kevin R / @TheKevinthDay

05/12/2016 at 08:48PM

51
#202 - Defts = DvToons / @defts

07/22/2016 at 01:18PM

51
#203 - George Angelopoulos / @g_usermod

11/20/2017 at 03:31PM

51
#204 - Dylan Waits / @pianoman320

07/15/2018 at 03:53AM

51
#205 - Jurica / @Jurica34581259

11/16/2018 at 03:52PM

52
#206 - Abdo Achkar / @Achkar

07/12/2015 at 05:15PM

52
#207 - Test / @goodbyetest1248

07/24/2015 at 03:53PM

52
#208 - Thomas Draper / @QuanTom561

09/27/2015 at 03:40AM

52
#209 - Rene Tianco / @murlockslol

10/29/2015 at 05:01AM

52
#210 - Roberto Gongora / @roberttt1005

10/29/2015 at 11:45PM