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 245 remaining solutions by signing in and submitting your own entry
#246 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

246 active golfers, 903 entries

Leaderboard (lowest score wins):
36
#61 - Turkey Man / @lvturkeyman

11/11/2017 at 03:37PM

36
#62 - Benoit Mortgat / @Benoit_Mortgat

11/15/2017 at 10:45AM

36
#63 - DHM / @DHM29978992

04/25/2018 at 02:07AM

36
#64 - Emanuele Franzoni / @EFranzoni89

07/12/2018 at 09:56AM

36
#65 - Dax / @zacoxi

11/14/2018 at 12:01PM

37
#66 - name / @name65894813

11/23/2018 at 03:47AM

38
#67 - Nicholas Marrone / @nickmarrone

09/06/2015 at 03:55PM

39
#68 - Blake Tereau / @BlakeTereau

08/11/2015 at 03:56AM

39
#69 - Stefan Countryman / @stcountryman

08/18/2015 at 10:19PM

39
#70 - Carlos A Henríquez Q / @lagunex

03/13/2016 at 01:58PM

39
#71 - glepha / @glepha_vim

03/23/2016 at 01:04AM

39
#72 - iNaKoll / @iNaKoll

05/07/2016 at 09:32PM

39
#73 - Daniel / @Daniel00288663

03/29/2017 at 01:24PM

39
#74 - Jerry Wu / @AzureSpectra

05/06/2017 at 12:01AM

39
#75 - yqu212 / @yqu212

08/03/2018 at 02:30PM

39
#76 - majo senf / @majo_senf

06/19/2019 at 12:30PM

40
#77 - Christophe Sicard / @tophsic

08/24/2015 at 11:57AM

40
#78 - Marty Boren / @computerliker

11/28/2015 at 03:00AM

40
#79 - Christopher Wells / @ExcaliburZero_Z

12/19/2015 at 02:37PM

40
#80 - Peter Brynza / @v3_1

08/19/2016 at 08:11PM

40
#81 - Alexander Bessonov / @nonsleepr

04/03/2017 at 06:31PM

40
#82 - 赤佐田奈葉 / @akasatanaha_

06/25/2018 at 09:23AM

41
#83 - Lifepillar / @lifepillar

07/10/2015 at 06:08AM

41
#84 - we’re going to need a bigger bot / @assaflavie

07/10/2015 at 06:49AM

41
#85 - François Marais / @maraisf

07/10/2015 at 07:43PM

41
#86 - pftb12345 / @pftb12345

07/12/2015 at 08:48AM

41
#87 - José Rodrigues / @jyrodrigues

07/13/2015 at 03:47AM

41
#88 - benekeusz / @benekeusz

07/16/2015 at 11:23PM

41
#89 - Self Doc Code / @self_doc_code

09/28/2015 at 08:30AM

41
#90 - ojung / @oskrjung

10/05/2015 at 01:07AM