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 56462467f20fe74c93000001

lipsum lines

Convert a quoted block of text into strings in a list.

Start file
"Lorem ipsum dolor sit amet,
consectetur adipiscing elit,
sed do eiusmod tempor incididunt...
...ut labore et dolore magna aliqua.
Ut enim ad minim veniam,
quis nostrud exercitation ullamco laboris...
...nisi ut aliquip ex ea commodo consequat."
End file
lipsum = ["Lorem ipsum dolor sit amet,",
	"consectetur adipiscing elit,",
	"sed do eiusmod tempor incididunt...",
	"...ut labore et dolore magna aliqua.",
	"Ut enim ad minim veniam,",
	"quis nostrud exercitation ullamco laboris...",
	"...nisi ut aliquip ex ea commodo consequat."]

View Diff

1,7c1,7
< "Lorem ipsum dolor sit amet,
< consectetur adipiscing elit,
< sed do eiusmod tempor incididunt...
< ...ut labore et dolore magna aliqua.
< Ut enim ad minim veniam,
< quis nostrud exercitation ullamco laboris...
< ...nisi ut aliquip ex ea commodo consequat."
---
> lipsum = ["Lorem ipsum dolor sit amet,",
> 	"consectetur adipiscing elit,",
> 	"sed do eiusmod tempor incididunt...",
> 	"...ut labore et dolore magna aliqua.",
> 	"Ut enim ad minim veniam,",
> 	"quis nostrud exercitation ullamco laboris...",
> 	"...nisi ut aliquip ex ea commodo consequat."]

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 63 remaining solutions by signing in and submitting your own entry
#64 h l / lonnez90 - Score: 36 - 12/03/15 @ 03:28
j<C-V>GI<Tab>"<Esc>:%s/$/",<CR>$xr]ggilipsum = [<Esc>ZZ

0 comments

#65 Frederik Klama / fklama - Score: 36 - 01/27/16 @ 12:38
xqa>>i"<End>",<Esc>+q6@axr]gg<Left>slipsum = [<Esc>ZZ

0 comments

#66 Remus Dalrymple / bornintheflames - Score: 36 - 05/09/17 @ 00:53
ilipsum = [<Esc>A",<Esc>qq+i<Tab>"<Esc>A",<Esc>q5@qxr]ZZ

0 comments

#67 Mendel Simon / agentms11 - Score: 37 - 12/13/15 @ 00:56
:%s#\n#",\r<Tab>"#g<CR>dger]ggilipsum = [<Esc>ZZ

0 comments

#68 Etienne Tremel / etiennetremel - Score: 37 - 02/06/16 @ 14:01
ilipsum = [<Esc>qq$a",<Esc>jq5@qa]<Esc>^<C-V>5-I<Tab>"<Esc>ZZ

0 comments

#69 Jakob Schöttl / jschoettl - Score: 39 - 12/21/15 @ 02:38
ilipsum = [<Esc><C-V>G$A",<Esc><CR><C-V>GI"<Esc><C-V>GI<C-T><Esc>G$xxa]<Esc>ZZ

0 comments

#70 Oliver Christ / 0liverChrist - Score: 39 - 07/12/16 @ 23:10
<C-V>G<End>I"<Esc>gvA",<Esc>ilipsum = [<Del><Esc>jVgGG>GA<BS><BS>]<Esc>ZZ

0 comments

#71 Chris Cummings / mistahcummings - Score: 39 - 10/31/16 @ 02:43
ilipsum = [<Esc>A",<Esc>j<C-V>6G$A",<Esc>vG><C-V>GI"<Esc>GA]<Esc>ZZ

0 comments

#72 Gurukandhamoorthi / Gurukandhamoor1 - Score: 39 - 07/14/17 @ 17:05
<C-V>GI<Tab>"<Esc>gv$A",<Esc>I<BS>lipsum = [<Esc>lx/",<CR>NDA]<Esc>ZZ

0 comments

#73 Lajos Koszti / Ajnasz - Score: 40 - 11/29/15 @ 15:18
ilipsum = [<Esc>j^<C-V>GI<Tab>"<Esc>j:%s/"<BS>$/",<CR>2f"C]<Esc>ZZ

0 comments

#74 coryknapp / coryknapp - Score: 44 - 11/13/15 @ 18:05
ilipsum = [<Esc>$a",<Esc>j0qqi<Tab>"<Esc>$a",<Esc>j0q5@qhxxa]<Esc>ZZ

0 comments

#75 Ashley Ryan / aviendha25 - Score: 44 - 12/21/15 @ 18:28
ilipsum = [<Esc>:%s/\n/\",\r\t\"/g<CR>dd$hhxlxa]<Esc>ZZ

0 comments

#76 manfred knapp / fred_pooshka - Score: 45 - 12/13/15 @ 13:55
j<C-V>6jI"<Esc>:%s/$/",/g<CR>$xr]06kilipsum = [<Esc>j0<C-V>6j>ZZ

0 comments

#77 Izabel Jelenić / IzabelJelenic - Score: 46 - 12/22/15 @ 17:20
qq<Down>I"<End>",<Home><Esc>q5@q<End>xxA]<Esc>ggA",<Esc><Home>VG>Ilipsum = [<Home><Del><Esc>ZZ

0 comments

#78 Zach Gulde / zgulde - Score: 56 - 02/29/16 @ 05:23
:%s/"/<CR>:%s/.*/"&",<CR>gg<C-V>GI<Tab><Esc>Ilipsumo<BS> = <Esc><<f"i[<Esc>7jf,r]:wq<CR>

0 comments

#79 vimgolfacc / supergopivimgo1 - Score: 68 - 02/28/16 @ 15:34
<Esc>:%s/"//g<CR>:<Up><Up><BS><BS><BS><BS>\*.*<BS><BS><BS><BS>\(.*\)/"\1",/g<CR><End>a<BS>]<Esc>ggilipsum = [<Esc>jvG><Esc>:wq<CR>

0 comments

Created by: coryknapp

79 active golfers, 222 entries

Leaderboard (lowest score wins):
28
#1 - Smylers / Smylers2

11/17/2015 at 11:00AM

28
#2 - Paulo H Baumann / PauloBaumann

11/18/2015 at 03:11PM

28
#3 - chris nojima / chrisnojima

11/23/2015 at 01:12AM

28
#4 - Patrick Cichon / the_nQL

12/07/2015 at 07:48PM

28
#5 - Matthew Desjardins / Desjardins_M

12/11/2015 at 09:17PM

28
#6 - Faat / i_faat

12/18/2015 at 06:14PM

28
#7 - jackliusr / jackliusr

01/13/2016 at 05:53AM

28
#8 - Roberto Carraretto / robcarraretto

01/27/2016 at 10:57PM

28
#9 - Aleksey Zhidkov / AlexeyZhidkov

02/01/2016 at 04:59AM

28
#10 - ben kavanagh / bkava

02/23/2016 at 04:42PM

28
#11 - Michel Ganguin / tinycrazyfish

03/03/2016 at 12:27PM

28
#12 - Ram Tamtam / ramtamtamtam

06/30/2016 at 02:45PM

28
#13 - Stanislav / prstad

10/19/2016 at 11:40AM

28
#14 - trx / trxdbg

10/27/2016 at 12:50PM

29
#15 - Jon Krause / jkrause314

11/14/2015 at 09:59PM

29
#16 - John Braxler / braxler

11/17/2015 at 02:26PM

29
#17 - Urtica dioica / udioica

12/20/2015 at 08:36AM

29
#18 - John Smith / literacyisgood

03/10/2016 at 07:03PM

29
#19 - Saki Gw / Sakigw

04/10/2016 at 11:27AM

30
#20 - kris / 0xkrp

11/14/2015 at 02:52PM

30
#21 - agricantare / agricantare

11/14/2015 at 08:38PM

30
#22 - Petro Тrouq / zulolosi

11/14/2015 at 10:02PM

30
#23 - Pete Sevander / Sevanteri

11/17/2015 at 09:30AM

30
#24 - herbage / herbage2

11/18/2015 at 12:55PM

30
#25 - Casey Pearring / StandardBias

11/27/2015 at 08:55PM

30
#26 - Lifepillar / lifepillar

12/08/2015 at 11:27AM

30
#27 - Jan Path / jan_path

12/18/2015 at 12:44PM

30
#28 - retro / tryphopp

01/20/2016 at 08:10AM

30
#29 - Dimitar Dimitrov / kurkale6ka

03/14/2016 at 02:04PM

30
#30 - Dinesh Bhosale / MrDineshBhosale

04/01/2016 at 05:32PM

31
#31 - Robert Goeddel / f0rdpr3fect

11/13/2015 at 07:11PM

31
#32 - Jason Schulz / uxcn_

11/15/2015 at 03:45AM

31
#33 - Walker Boh / walker_boh

11/16/2015 at 12:17PM

31
#34 - Quota / Quotad

11/19/2015 at 12:47PM

31
#35 - territorialmale / territorialmale

11/20/2015 at 05:39AM

31
#36 - EatYourGreens / VimTwo

11/30/2015 at 04:58PM

31
#37 - Roberto Alegro / robertoaall

11/30/2015 at 07:51PM

31
#38 - Kostas / blackraven_13

02/24/2016 at 09:29PM

31
#39 - Michael Buckley / apolatg

03/05/2016 at 05:07PM

31
#40 - Carlos A Henríquez Q / lagunex

03/13/2016 at 03:04PM

32
#41 - emblox / emblox

11/19/2015 at 09:27PM

32
#42 - AD / Lievr0

11/21/2015 at 05:41AM

32
#43 - marty / computerliker

11/29/2015 at 12:49AM

32
#44 - vic © / 2r2w

05/23/2016 at 10:28AM

32
#45 - George Angelopoulos / g_usermod

08/04/2016 at 11:08PM

32
#46 - Will / w_labranche

09/01/2016 at 02:48AM

32
#47 - TweetDreams / TweetMusicians

10/16/2016 at 07:01AM

32
#48 - Marcel Akkerman / MarcelAkkerman

12/22/2016 at 12:11PM

33
#49 - Ryuichiro / ryuichiro44

11/19/2015 at 07:21PM

33
#50 - Gerald Tilma / GeraldTilma

11/22/2015 at 05:05PM

33
#51 - thlix / thlix

01/10/2016 at 11:19PM

33
#52 - some call me mattp / mattpep

05/16/2016 at 09:20PM

33
#53 - Daniel / Daniel00288663

03/30/2017 at 03:07PM

34
#54 - Robert Perce / robertperce

11/13/2015 at 10:40PM

34
#55 - mnx / mnxx

11/14/2015 at 08:17PM

34
#56 - David Mauskop / mauskop

11/15/2015 at 04:34PM

34
#57 - Jo / jonearth42

11/22/2015 at 12:32PM

34
#58 - Chenut Ludovic / 7Brwa7

04/06/2016 at 01:02PM

35
#59 - Aurélien Lair / aurelien_lair

11/14/2015 at 06:37PM

35
#60 - Sebastian Pardo / sebpardo

02/18/2016 at 08:40PM

35
#61 - Andreas Carben / meiner_eins

03/13/2016 at 12:23PM

36
#62 - James / Dronak

11/13/2015 at 06:31PM

36
#63 - Joseph J. Piché / jjpiche

11/13/2015 at 06:54PM

36
#64 - h l / lonnez90

12/03/2015 at 03:28AM

36
#65 - Frederik Klama / fklama

01/27/2016 at 12:38PM

36
#66 - Remus Dalrymple / bornintheflames

05/09/2017 at 12:53AM

37
#67 - Mendel Simon / agentms11

12/13/2015 at 12:56AM

37
#68 - Etienne Tremel / etiennetremel

02/06/2016 at 02:01PM

39
#69 - Jakob Schöttl / jschoettl

12/21/2015 at 02:38AM

39
#70 - Oliver Christ / 0liverChrist

07/12/2016 at 11:10PM

39
#71 - Chris Cummings / mistahcummings

10/31/2016 at 02:43AM

39
#72 - Gurukandhamoorthi / Gurukandhamoor1

07/14/2017 at 05:05PM

40
#73 - Lajos Koszti / Ajnasz

11/29/2015 at 03:18PM

44
#74 - coryknapp / coryknapp

11/13/2015 at 06:05PM

44
#75 - Ashley Ryan / aviendha25

12/21/2015 at 06:28PM

45
#76 - manfred knapp / fred_pooshka

12/13/2015 at 01:55PM

46
#77 - Izabel Jelenić / IzabelJelenic

12/22/2015 at 05:20PM

56
#78 - Zach Gulde / zgulde

02/29/2016 at 05:23AM

68
#79 - vimgolfacc / supergopivimgo1

02/28/2016 at 03:34PM