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

Collect List

Convert to comma separated list.

Start file
* item1
* item2
* item3
* item4
* item5
End file
item1,item2,item3,item4,item5

View Diff

1,5c1
< * item1
< * item2
< * item3
< * item4
< * item5
---
> item1,item2,item3,item4,item5

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 1031 remaining solutions by signing in and submitting your own entry
#1032 Radoslav Ivanov / @rivanov1 - Score: 89 - 09/15/15 @ 18:30
<C-V>ljjjjdqa$i,<BS><Esc><Esc><Esc>hhhhh$a,jj<BS><BS><Esc>dl<Esc><Esc>i<Esc><Esc>lla,jj<BS><BS><Esc><Esc>lj^i<BS>jj<BS><BS><Esc><Esc>qjh^i<BS>,jj<BS><BS><Esc><Esc>$j^i<BS>,<Esc><Esc>j^i<BS>,<Esc><Esc>:wq<CR>

0 comments


Created by: @compilejason

1032 active golfers, 3603 entries

Leaderboard (lowest score wins):
13
#481 - Yudi Matsuzake / @yudimatsuzake

05/13/2016 at 04:07PM

13
#482 - aestetix / @aestetix

05/17/2016 at 02:25AM

13
#483 - Michal Sylwester / @msylw

05/20/2016 at 04:34AM

13
#484 - Reuben Huxley / @missiontocode

06/29/2016 at 07:24AM

13
#485 - Павел Игоревич / @VizierST

06/30/2016 at 08:00PM

13
#486 - Antoni Villalonga / @friki

08/15/2016 at 06:08PM

13
#487 - timerella® / @timerella

11/16/2016 at 10:53PM

13
#488 - Alexander Bessonov / @nonsleepr

03/13/2017 at 08:02PM

13
#489 - Михаил Борисов / @npoKA3Hbuk

03/13/2017 at 09:13PM

13
#490 - Hocan Eittbe / @fifthwallfly

05/10/2017 at 04:00AM

13
#491 - jakeroberts / @jakeroberts

05/20/2017 at 02:49PM

13
#492 - Jeff Kelly / @cheibriados

06/03/2017 at 06:30AM

13
#493 - Carl Egbert / @CarlOEgbert

06/09/2017 at 07:42PM

13
#494 - Joel Meyer-Hamme / @JoelMeyerHamme

06/20/2017 at 10:09PM

13
#495 - toddkoym / @toddkoym

08/09/2017 at 01:04AM

13
#496 - Sean Wayman / @SeanInFrance

09/19/2017 at 08:49PM

13
#497 - jirgn / @jirgn

09/23/2017 at 08:37PM

13
#498 - しぇぱっち / @shepabashi

10/20/2017 at 02:38AM

13
#499 - Bradley M. Small / @BradleySmall

11/22/2017 at 02:46PM

13
#500 - maks kamnikar / @maks_kamnikar

01/08/2018 at 02:47PM

13
#501 - Alphonse Mariya / @alfunx

01/11/2018 at 09:55AM

13
#502 - つまっく。 / @tsumac1203

01/18/2018 at 11:38AM

13
#503 - Felix Boers / @felixboers

02/25/2018 at 01:43PM

13
#504 - Paul Page / @theRealPaulPage

03/23/2018 at 12:50PM

13
#505 - 서강훈 / @shirano150

04/03/2018 at 05:19AM

13
#506 - Fichera Gaetano / @gaetanofic

04/11/2018 at 07:55AM

13
#507 - steph-query / @StephQuery

07/17/2018 at 05:03PM

13
#508 - niwatoco / @yoshitune9

07/19/2018 at 01:45AM

13
#509 - yqu212 / @yqu212

07/27/2018 at 08:32AM

13
#510 - Rajesh Sharma / @deepredsky

07/30/2018 at 07:02PM