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 179 remaining solutions by signing in and submitting your own entry
#180 Austin Wood / indiesquidge - Score: 51 - 01/27/16 @ 17:46
cc<ul><Esc>pA,<Esc>:s:\w*:\t<li>&</li>\r:g<CR>4k<C-V>4jdGi</ul><Esc>ZZ

0 comments


#181 Kevin R / TheKevinthDay - Score: 51 - 05/12/16 @ 20:48
i<ul><CR><Esc>A<CR></ul><Esc>:%s/,/\r/g<CR>qz>>i<li><Esc>A</li><Esc>k^q4@zZZ

0 comments


#182 Defts = DvToons / defts - Score: 51 - 07/22/16 @ 13:18
:%s/,/<\/li>\r/g<CR>A</li><CR></ul><Esc>ggi<ul><CR><Esc><C-V>4jI<Tab><li><Esc>ZZ

0 comments


#183 George Angelopoulos / g_usermod - Score: 51 - 11/20/17 @ 15:31
qqf,r<CR>q3@qqqI<li><Esc>A</li><Esc>kq4@q>}O<ul><Esc><<Go<BS></ul><Esc>ZZ

0 comments


#184 Abdo Achkar / Achkar - Score: 52 - 07/12/15 @ 17:15
ddi<ul><CR><Esc>5i<Tab><li>item1</li><CR><BS><Esc>i</ul><Esc>4kf1<C-A>j2<C-A>jr4jr5ZZ

0 comments


#185 Test / goodbyetest1248 - Score: 52 - 07/24/15 @ 15:53
O<ul><Esc>jo</ul><Esc>kI<Tab><Esc>:s/,/\r\t/g<CR>qqI<li><Esc>A</li><Esc>kq4@qZZ

0 comments


#186 Thomas Draper / QuanTom561 - Score: 52 - 09/27/15 @ 03:40
:s/,/\r/g<CR><C-V>ggI<li><Esc>gvllly$Pup<C-V>GA/<Esc>gv>O<BS><ul><Esc>YGpa/<Esc>ZZ

0 comments


#187 Ralf Gueldemeister / rgueldem - Score: 52 - 10/05/15 @ 20:48
:%s/,/\r/g<CR><C-V>ggI<li><Esc>$<C-V>4jA</li><Esc>O<ul><Esc>Go</ul><Esc>kV4k>ZZ

0 comments


#188 Rene Tianco / murlockslol - Score: 52 - 10/29/15 @ 05:01
:%s/,/\r/g<CR><C-V>ggI<li><Esc>$<C-V>4jA</li><Esc>O<ul><Esc>Go</ul><Esc>kV4k>ZZ

0 comments


#189 Roberto Gongora / roberttt1005 - Score: 52 - 10/29/15 @ 23:45
:%s/,/\r/g<CR><C-V>ggI<li><Esc>$<C-V>4jA</li><Esc>O<ul><Esc>Go</ul><Esc>kv4k>ZZ

0 comments


#190 John Smith / literacyisgood - Score: 52 - 02/08/16 @ 04:20
:s/,/<\/li>\r\t<li>/g<CR>A</li><CR><BS></ul><Esc>:t0<CR>lx+i<Tab><li><Esc>ZZ

0 comments


#191 Eric Potter / pottereric - Score: 52 - 05/02/16 @ 17:25
:s/,/\r/g<CR>:%s/\S\+/\t<li>&<\/li><CR>o<BS></ul><Esc>ggO<BS><ul><Esc>ZZ

0 comments


#192 Oliver Christ / 0liverChrist - Score: 52 - 07/12/16 @ 22:38
:s/,/\r/g<CR><C-V>gg<End>I<li><Esc>gvA</li><Esc>VG>O<BS><l<BS>ul><Esc>Go<BS></ul><Esc>ZZ

0 comments


#193 David / dododavid006 - Score: 53 - 08/28/15 @ 14:59
:s/,/\r/g<CR><C-V>4kI<li><Esc>$<C-V>4jA</li><Esc>VG>O<ul><Esc>V<Go</ul><Esc>V<ZZ

0 comments


#194 Hello World / CrisTsanNtua - Score: 53 - 09/27/15 @ 12:50
cc<ul><Esc>pA,<Esc>:s/\(item.\)./\t<li>\1<\/li>\r/g<CR>i</ul><Esc>ZZ

0 comments


#195 Sukovec / Sukovec - Score: 53 - 05/11/16 @ 14:17
:s/,/<C-V><CR>/g<CR>:%s/.*/<li>\0<\/li>/<CR>o</ul><C-O>gg<ul><CR><Esc>5>>:wq<CR>

0 comments


#196 Louis Caruana / louiecaruana - Score: 54 - 07/15/15 @ 04:54
:s?,?</li><C-V><CR><C-V><Tab><li>?g<CR>A</li><CR></ul><Esc>0dw:.t0<CR>lx<CR>I<Tab><li><Esc>ZZ

0 comments


#197 Veritas / _VeritasL - Score: 54 - 08/13/15 @ 18:31
:%s/\v(item.),*/\t<li>\1<\/li>\r/g<CR>i<ul><Esc>ggO<BS><C-R>.<Esc>Ga/<Esc>ZZ

0 comments


#198 Aurélien Lair / aurelien_lair - Score: 54 - 11/14/15 @ 14:04
:s/,/\r/g<CR><C-V>ggI<li><Esc>$<C-V>4jA</li><Esc>O<ul><Esc>Go</ul><Esc>k^<C-V>4kI<Tab><Esc>ZZ

0 comments


#199 Izabel Jelenić / IzabelJelenic - Score: 54 - 12/22/15 @ 20:23
:s:,:\r:g<CR>:%s:.*:<li>&<\/li><CR>ggVG>O<ul><Esc><<Go</ul><Esc><<ZZ

0 comments


#200 Doru-Mihai Muntean / dorumihai - Score: 54 - 12/01/16 @ 23:15
i<ul><CR><Tab>l<BS><li><Esc>:s/,/<\/li>\r\t<li>/g<CR>A</li><CR><BS></ul><Esc>:wq<CR>

0 comments


#201 broella3 / broella3 - Score: 55 - 08/20/15 @ 14:49
i<Tab><Esc>:%s/,/\r\t/g<CR>:%s/i.*/<li>&<\/li><CR>o<BS></ul><Esc>ggO<BS><ul><Esc>ZZ

0 comments


#202 Stefan Knudsen / knud32 - Score: 55 - 11/01/15 @ 21:42
:s/,/<C-V><CR>/g<CR><C-V>ggI<Tab><li><Esc>l<C-V>Gf>y$p<C-V>Gf<A/<Esc>YPXlxphrufiDYGpa/<Esc>ZZ

0 comments


#203 Wandering ponderer / 0proxycon - Score: 56 - 07/11/15 @ 23:06
i<ul><CR><li><Esc>:s/<BS>;<<BS>,;</li>\r<li>;g<CR>A</li><CR></ul><Esc>2Gv5jk>ZZ

0 comments


#204 Paul Inc / hiniol1982 - Score: 56 - 07/13/17 @ 20:01
:s/,/\r/g<CR>:%s/\w\+/<li>\0<\/li>/<CR><C-V>ggI<Tab><Esc>O<BS><ul><Esc>:.t6<CR>a/<Esc>ZZ

0 comments


#205 Toni Češarek / CesarekToni - Score: 57 - 07/28/15 @ 19:32
i,<Esc>:s/,/\r\t/g|%s/\w*\d/<li>&<\/li>/g<CR>ggi<l<C-H>ul><Esc>yyGpa/<Esc>ZZ

0 comments


#206 Evan Arduino / itachireuhssure - Score: 58 - 08/21/15 @ 02:06
qai<li><Esc>f,a<BS></li><CR><Esc>q4@a$a</li><CR></ul><Esc>1ggO<ul><Esc>2gg<C-V>6ggI<Tab><Esc>ZZ

0 comments


#207 Francis / francis_vega - Score: 58 - 09/04/15 @ 15:35
O<ul><Esc>jo</ul><Esc>kI<Tab><Esc>:s/,/|r<BS><BS>\r\t\<BS>/g<CR>qqI<li><Esc>A</li><Esc>kq4@qZZ

0 comments


#208 David Aguilera / davilera - Score: 58 - 08/11/16 @ 14:20
I<ul><CR><Tab><li><Esc>A</li><CR><BS></ul><Esc>:%s/,/<\/li>\\rt<BS><BS><BS>r\t<li>/g<CR>:x<CR>

0 comments


#209 Gerald Tilma / GeraldTilma - Score: 59 - 10/17/15 @ 21:24
:s/\(item.\)/<li>\1<\/li>/g<CR>:s/,/\r/g<CR>gg5>>O<BS><ul><Esc>yyGpa/<Esc>ZZ

0 comments


#210 Theodore DeRego / tedsta0 - Score: 59 - 12/08/15 @ 04:08
O<ul><Esc>VyGpa/<Esc>:%s/,/<\/li>\r/g<CR>A</li><Esc>:%s/it/\t<li>it/g<CR>:wq<CR>

0 comments


#211 z0c / zerocabal - Score: 60 - 06/11/18 @ 16:26
i<ul><CR><Esc>:%s/i/<<BS>\t<li>i/g<CR>:%s/<BS>#,#</li>\r#g<CR>$a</li><CR><BS></ul><Esc>ZZ

0 comments


#212 vimgolf5555 / h849718 - Score: 61 - 10/15/15 @ 11:02
i<ul><CR><li><Esc>:s/,/<\/li>\r<li>/g<CR>$a</li><CR></ul><Esc>:2,6><CR>:zz<CR>:ZZ<CR>ZZ

0 comments


#213 Michael Dykman / MichaelDykman - Score: 61 - 04/29/16 @ 15:49
:s/,/<C-V><CR><C-V><Tab>/g<CR>A</li><Esc>-.-.-.-.0i<ul><CR><Tab><Esc>wi<li><Esc>+.+.+.+.o<BS></ul><Esc>ZZ

0 comments


#214 WLIU / weichih654 - Score: 65 - 08/27/15 @ 11:08
:s/^/<ul>\r\t<li>/|s/5/5<\/li>\r<\/ul>/|%s/,/<\/li>\r\t<li>/g|wq<CR>

0 comments


#215 Mark Maglana / markmaglana - Score: 65 - 10/20/15 @ 07:43
:%s/,\|$/<\/li>\r/g<CR>i</ul><Esc>ggO<ul><Esc>jI<li><Esc>j.j.j.j.4k^<C-V>jjjjI<Tab><Esc>:wq<CR>

0 comments


#216 Nicola A / aitkenster - Score: 66 - 07/16/15 @ 16:51
:%s/,/\r/g<CR>:%s/^/\t<li>/g<CR>:%s/$/<\/<BS><BS>\/li>/g<CR>o<BS></ul><Esc>ggO<BS><ul><Esc>:wq<CR>

0 comments


#217 Jeanno / JeannoHS - Score: 66 - 07/29/15 @ 04:36
O<rl<BS><BS>ul><Esc>jo</<BS>/ul><Esc><Up>kI<Esc><Down>kI<Esc><Down>I<Tab><Esc>:s/,/\r\t/g<CR>qqI<li><Esc>A</li><Esc>kq4@qZZ

0 comments


#218 江裕诚 / fatjyc - Score: 68 - 07/14/15 @ 14:48
:/s=/<BS><BS><BS><BS>s/\v(id<BS>tem\d),?/\t<li>\1<\/li<BS><BS><BS><BS>\/li>\r/g<CR>i</ul><Esc>:t0<CR>lxZZ

0 comments


#219 Rudolfs Sohn / rudolf_son - Score: 69 - 08/28/15 @ 18:12
cw<li><C-R><C-O>"</li><Del><CR><Esc>....<Down><Down><Down><Down><Down><Down><Down><Down><Down><Down><Down><Down><Down><Down><Down><Down><Down><Down><Down><Down></<Esc>i</ul><Esc>ggO<ul><Esc><CR><C-V>4j$I<Tab><Esc>ZZ

0 comments


#220 adrien frediani / fredianiadrien - Score: 69 - 01/04/16 @ 20:07
:%s/,/\r/g<CR><C-V>kkkkI<li>$<BS><Esc><Esc>A<Esc><C-V>jjjjA</li><Esc>o<Esc>uO<ul><Esc>j0<C-V>jjjjI<Tab><Esc>Go<BS></ul><Esc>ZZ

0 comments


#221 Hendrik Lammers / hendriklammers - Score: 70 - 07/16/15 @ 19:25
O<ul><Esc>yyjpa/<Esc>kbqqf,x<Esc>qddO<Tab><li></li><Esc>cititem1<Esc>yy4pf1r2jr3jr4j55r5<C-P>jr5ZZ

0 comments


#222 Brandon Milam / jbmilam950 - Score: 103 - 07/09/15 @ 17:32
qqfii<li><C-C><C-C>f,xi</li><C-C><C-C>q4@qA</li><CR></ul><C-C><C-C>HO<ul><C-C><C-C>jbqqf>f>a<CR><C-C><C-C>q3@qvxkkkki<li><C-C><C-C>wwr<al<BS>/li><CR><C-C><C-C>jkkVjjjj<Tab>>ZZ

0 comments


#223 Евгения Харламова / MadWomaZ - Score: 195 - 07/20/15 @ 17:20
i<ul><Esc>A</ul><Esc>:s\(\w\d\),*/\t<li>\q<\/li>\r/g<CR>hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhha<CR><Esc>:s/,/<\.<BS>\<BS>/li>/g<CR>wwlla<CR><Esc>llllllllla<CR><Esc>llllllllla<CR><Esc>llllllllla<CR><Esc>lllla<CR><Esc>kk$hhhhveelyjp0kkkk<C-V>jjjjI<Tab><Esc>jkl<C-V>jjjjI<li><Esc>:wq<CR>

0 comments


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

224 active golfers, 756 entries

Leaderboard (lowest score wins):
33
#1 - E Both / enboth

04/18/2016 at 12:22AM

33
#2 - Stephen Aument / saument

09/04/2016 at 03:45AM

33
#3 - Nico / _Nico_Caro

10/04/2016 at 10:04PM

33
#4 - Baine Wedlock / BaineWedlock

08/13/2017 at 03:25PM

33
#5 - ParasamGateZero / ParasamGateZero

02/16/2018 at 07:04AM

33
#6 - Guirec CORBEL / GuirecCorbel

04/08/2018 at 09:38AM

34
#7 - John Braxler / braxler

10/14/2015 at 02:07PM

34
#8 - Urtica dioica / udioica

10/15/2015 at 10:55PM

34
#9 - Justin Sermeno / justinsermeno

10/30/2015 at 12:29AM

34
#10 - jackliusr / jackliusr

01/12/2016 at 10:18AM

34
#11 - Aleksey Zhidkov / AlexeyZhidkov

01/23/2016 at 06:32AM

34
#12 - Dinesh Bhosale / MrDineshBhosale

04/01/2016 at 12:14PM

34
#13 - John Goes / johnwgoes

05/08/2016 at 07:40PM

34
#14 - Jon Krause / jkrause314

07/06/2016 at 03:04AM

34
#15 - jdupont655 / jdupont655

09/02/2016 at 04:07PM

34
#16 - trx / trxdbg

10/13/2016 at 10:11AM

34
#17 - 梧桐王子 / WutongYujie

05/04/2017 at 01:26PM

35
#18 - Mutter Mumble / muttermumble

07/09/2015 at 07:51PM

35
#19 - Louis Burke / LambdaABeta

07/09/2015 at 08:30PM

35
#20 - David Willming / wdialvmeo

07/10/2015 at 03:39AM

35
#21 - James Pringle / mathbyjames

07/10/2015 at 07:19PM

35
#22 - Steffen Köhler / Baertierchen

07/12/2015 at 12:01AM

35
#23 - Petro Тrouq / zulolosi

07/13/2015 at 05:07AM

35
#24 - Aaron Fresh / AaronFresh7

07/13/2015 at 08:55AM

35
#25 - Peter B / l0wm4x

07/31/2015 at 09:02PM

35
#26 - Ferdev vimgolf / fergvimgolf

08/07/2015 at 10:51PM

35
#27 - Дима Давыдов / xaykot

08/14/2015 at 09:03PM

35
#28 - Nick Xiao / nicoster

08/22/2015 at 03:24AM

35
#29 - Paulo Romeira / pauloromeira

08/23/2015 at 07:13PM

35
#30 - Mike Adams / davis_cromwell

09/27/2015 at 10:07PM