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 4dcd7b572c8e510001000005

Interweave two blocks of text

Suppose you've got data on a list of things from multiple sources. They're all in separate chunks, so how might you create a tabular output?

Start file
one
two
three
four
five
six
seven
eight
nine
ten
1
2
3
4
5
6
7
8
9
10
End file
one	1
two	2
three	3
four	4
five	5
six	6
seven	7
eight	8
nine	9
ten	10

View Diff

1,20c1,10
< one
< two
< three
< four
< five
< six
< seven
< eight
< nine
< ten
< 1
< 2
< 3
< 4
< 5
< 6
< 7
< 8
< 9
< 10
---
> one	1
> two	2
> three	3
> four	4
> five	5
> six	6
> seven	7
> eight	8
> nine	9
> ten	10

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 132 remaining solutions by signing in and submitting your own entry
#133 Rob Glew / RealGlew - Score: 19 - 06/12/14 @ 14:36
qqdd9jPJs<Tab><Esc>ggq9@qZZ

0 comments

#134 Unreal Name / morphles - Score: 19 - 11/23/14 @ 20:29
qqdd9jPA<Tab><Esc>Jggq9@qZZ

0 comments

#135 Benny Wong / bdotdub - Score: 19 - 05/05/15 @ 16:49
qqGdd9kA<Tab><C-R>"<BS><Esc>q9@qZZ

0 comments

#136 ltn614 / ltn614 - Score: 19 - 09/29/15 @ 14:15
qqdd9jI<C-R>"<BS><Tab><Esc>(q9@qZZ

0 comments

#137 Matteo Signer / MatteoSigner - Score: 19 - 04/10/16 @ 22:01
qqGdd9kA<Tab><C-R>"<BS><Esc>q9@qZZ

0 comments

#138 no / masongclayton - Score: 19 - 08/05/16 @ 07:11
qqGdd9kpkA<Tab><Esc>Jq9@qZZ

0 comments

#139 Toon Willems / nudded - Score: 20 - 11/27/11 @ 14:13
qqGdd9kA<Tab><Esc>pi<BS><Esc>q9@qZZ

0 comments

#140 Ronie Uliana / ronie - Score: 20 - 02/29/12 @ 21:49
qq:$m$-10<CR>kJr<Tab>q9@qZZ

0 comments

#141 Runar / runarfu - Score: 20 - 01/12/13 @ 10:10
<C-V>9j$A<Tab><Esc>gvx11GPkdggZZ

0 comments

#142 n2o4 / scatotonic - Score: 20 - 05/08/13 @ 13:32
qq:m10<CR>Jxi<Tab><Esc>ggq9@qZZ

0 comments

#143 Piotr Śniegowski / PiotrSniegowski - Score: 20 - 06/06/13 @ 14:33
qaGdei<BS><Esc>9kA<Tab><Esc>pq9@aZZ

0 comments

#144 brett / brettyukich - Score: 20 - 09/26/13 @ 22:21
qqdd9jI<C-R>"<BS><Tab><Esc>9kq9@qZZ

0 comments

#145 Dennis Dashkevich / dskecse - Score: 20 - 12/01/16 @ 10:09
qadd9jPJs<Tab><Esc>ggq9@a:x<CR>

0 comments

#146 James Cash / jamesnvc - Score: 21 - 05/14/11 @ 00:46
qq11Gdd<C-O>A<Tab><C-R>"<BS><Esc>jq9@qZZ

0 comments

#147 Calvin Condon / ccondon - Score: 21 - 01/31/12 @ 05:25
qa11Gdd''pi<BS><Tab><Esc>jq9@aZZ

0 comments

#148 Paweu1kZ nbNeyIhH / yUQlwsFpRSzxJFh - Score: 22 - 05/16/11 @ 17:25
qq11Gdd``A<Tab><C-R>"<BS><Esc>jq9@qZZ

0 comments

#149 Mislav Marohnić / mislav - Score: 22 - 12/05/11 @ 22:33
qqA<Tab><Esc>11Gdd''pkJ+q9@qZZ

0 comments

#150 Tyler / tylerbindon - Score: 22 - 04/07/13 @ 00:48
qq:+10t.<CR>-Jr<Tab>jq9@qd}ZZ

0 comments

#151 Michael Jin / michaeljin - Score: 23 - 03/12/12 @ 00:56
11G<C-V>G$y<C-V>gg$A<Tab><Esc>$p11GdGZZ

0 comments

#152 Jacek Wysocki / ex00 - Score: 23 - 06/14/12 @ 12:22
A<Tab>1<Esc>qqywjA<Tab><C-R>"<Esc><C-A>q9@qdGZZ

0 comments

#153 Chris Brown / engineercyb - Score: 23 - 09/13/12 @ 01:21
qq10jY10kpkJr<Tab>jq9@qdGZZ

0 comments

#154 Connie Qi / connieqi - Score: 23 - 06/12/14 @ 14:40
qq10jD10kA<Tab><Esc>p0jq9@qdGZZ

0 comments

#155 Daniel Lundin / danielundin - Score: 24 - 11/21/11 @ 19:42
qq10jdw10kA<Tab><Esc>pj0q9@QdGZZ

0 comments

#156 simonced / simonced - Score: 24 - 09/28/14 @ 00:15
10j<C-V>G$d"_dGgg$<C-V>G$A<Tab><Esc>lpZZ

0 comments

#157 Oliver Christ / 0liverChrist - Score: 25 - 11/12/13 @ 21:44
10Gqq10jdd9kpkA<Tab><Del><Esc>-q9@qZZ

0 comments

#158 Habib Alamin / alaminium94 - Score: 25 - 12/22/15 @ 10:40
qqA<Tab><Esc>jq9@q<C-V>G$dgg$p10jdGZZ

0 comments

#159 Avian Y / y_avian - Score: 25 - 06/27/17 @ 19:40
qwA<Tab><Esc>10jdaw10k$pjq9@wdGZZ

0 comments

#160 Matt Donahoe / mdonahoe - Score: 26 - 10/13/11 @ 05:37
qqdd9jPJ1Gq9@q:5<BS>%s/ /<Tab><CR>ZZ

0 comments

#161 Alex Hammel / AlexJHammel - Score: 26 - 12/24/12 @ 19:35
qq10jD10kA<Tab><Esc>pjq9@qdGwi1<Esc>ZZ

0 comments

#162 Vojtěch Šívr / VojtechSivr - Score: 30 - 06/09/11 @ 19:54
qa<k1><k0>jD<k1><k0>kA<Tab><Esc>pjq9@a<k2><k0>dd/<k0><NL>i<k1><Esc>ZZ

0 comments

#163 Christopher Erin / MCNormalMode - Score: 30 - 09/21/11 @ 00:56
:g/\d/co-10|-1|s!\n!\t<CR><CR>jVGDZZ

0 comments

#164 Tyler Breisacher / tbreisacher - Score: 30 - 08/25/12 @ 09:34
/1<CR><C-V>nlddG{A<Tab><Esc>"2p:%s/  */<C-V><Tab>/<CR>ZZ

0 comments

#165 Joel Gallant / joelg236 - Score: 35 - 03/09/16 @ 23:11
qq10jdw10k$pi<Tab><Esc>jq10@qdGwi1<Esc>wdW.:wq<CR>

0 comments

#166 Narciso Guillen / narcisoguillen - Score: 38 - 05/03/12 @ 17:30
qqma11ggA<Esc>v0d'aA<Tab><Esc>p11ggdd'ajq9@q:w<CR>:q<CR>

0 comments

Created by: mwhooker

166 active golfers, 420 entries

Leaderboard (lowest score wins):
15
#1 - Urtica dioica / udioica

05/25/2012 at 07:49PM

15
#2 - James / defactojames

10/17/2012 at 06:04PM

15
#3 - Marco Hinz / _mhinz_

05/23/2013 at 03:52PM

15
#4 - Petro Тrouq / zulolosi

08/31/2013 at 04:43PM

15
#5 - Sune Simonsen / sunesimonsen

10/17/2013 at 06:58PM

15
#6 - John Braxler / braxler

05/15/2014 at 08:06PM

15
#7 - jake romer / notjakeromer

04/21/2015 at 01:43AM

15
#8 - P. Schwede / pschwede

05/21/2015 at 07:28PM

15
#9 - Jon Krause / jkrause314

01/12/2016 at 06:31AM

15
#10 - Ralf Haffa / fatslo

02/27/2016 at 11:05PM

15
#11 - Foo Bar / foobar01123

06/02/2016 at 10:35PM

15
#12 - LiquidsebTest / LiquidsebTest

12/14/2016 at 09:43AM

15
#13 - Saki Gw / Sakigw

12/14/2016 at 07:59PM

15
#14 - Daniel / Daniel00288663

04/04/2017 at 09:51AM

16
#15 - Trevor Powell / DoomedBunnies

12/07/2011 at 04:20AM

16
#16 - Jakub Arnold / darthdeus

12/19/2011 at 03:43PM

16
#17 - Renat Aksitov / Korvin79

02/08/2012 at 05:02PM

16
#18 - Federico Galassi / federicogalassi

02/22/2012 at 09:06PM

16
#19 - John Anderson / opejn

03/31/2012 at 04:12PM

16
#20 - Tim Chase / gumnos

04/27/2012 at 11:18PM

16
#21 - ise0615 / ise0615

05/05/2012 at 11:39AM

16
#22 - Sebastian Kusnier / skusnier

05/06/2012 at 08:38PM

16
#23 - Miha Filej / mfilej

06/26/2012 at 07:48PM

16
#24 - uoɹɹɐɥƆ ꞁǝnɯɐS / samuelcharron

07/05/2012 at 03:51PM

16
#25 - Vim rocks / vimrocks

10/07/2012 at 06:22PM

16
#26 - DJ LoBraico / pygatea

12/11/2012 at 10:57PM

16
#27 - Jared Meyering / Jmeyering

02/25/2014 at 10:12PM

16
#28 - Antonio Jesús / antoniojesvs

02/27/2014 at 01:03PM

16
#29 - Mark Inksa / MInksaCS

05/10/2014 at 09:55PM

16
#30 - François Marais / maraisf

09/15/2014 at 06:33PM

16
#31 - pftb12345 / pftb12345

04/16/2015 at 01:52PM

16
#32 - Anderson Mesquita / andersonvom

04/17/2015 at 06:41AM

16
#33 - Evan Coleman / edc1591

05/05/2015 at 05:26PM

16
#34 - Razzi / Razzzzi

12/20/2015 at 09:03PM

16
#35 - blue fin / blueuo

03/13/2016 at 04:16PM

16
#36 - Terje Støback / erjets

04/14/2017 at 04:13PM

17
#37 - xhtmlforum / xhtmlforum

05/13/2011 at 08:09PM

17
#38 - Shawn / sartak

05/13/2011 at 08:13PM

17
#39 - Pete Johns / johnsyweb

05/13/2011 at 10:29PM

17
#40 - h_east (トロッコ6個) / h_east

05/14/2011 at 12:04AM

17
#41 - Wei Dai / clvv42

05/14/2011 at 07:28AM

17
#42 - Dmitry Ivanov / ethercrow

05/14/2011 at 01:21PM

17
#43 - Thom Hughes / thom_hughes_1

05/14/2011 at 04:44PM

17
#44 - Pavlo Klets / p01nt

05/14/2011 at 05:13PM

17
#45 - tdirrenb / tdirrenb

05/15/2011 at 06:07PM

17
#46 - Mohammed / mbadran

05/16/2011 at 02:10AM

17
#47 - Malaney / iamjh

05/17/2011 at 03:42AM

17
#48 - Oleg Roshupkin / jjjahson

05/18/2011 at 04:29AM

17
#49 - Dragan Cvetinovic / kawkafi

05/21/2011 at 10:53AM

17
#50 - Justin Hale / jxl

05/25/2011 at 12:04PM

17
#51 - Utkarsh Kukreti / utkarshkukreti

05/26/2011 at 11:05PM

17
#52 - icdark / icdark

05/29/2011 at 11:51PM

17
#53 - Marco Ippolito / maroloccio

05/31/2011 at 10:46PM

17
#54 - Emile Swarts / EmileSwarts

06/08/2011 at 03:53PM

17
#55 - not so punk :] / notsopunk

06/19/2011 at 08:51AM

17
#56 - Peter Anselmo / peter_anselmo

06/23/2011 at 06:58PM

17
#57 - Johan Sveholm / rymdtjuren

06/24/2011 at 02:26AM

17
#58 - Dan Masquelier / danmasq

07/02/2011 at 05:25PM

17
#59 - 42hitchhiker / 42hitchhiker

07/06/2011 at 06:35AM

17
#60 - Corey Glynn / albedoa

07/07/2011 at 06:41AM

17
#61 - Zak van der Merwe / zakkuuu

07/08/2011 at 07:37PM

17
#62 - Dave / zzdave13

07/14/2011 at 10:29PM

17
#63 - Sammasati / sammasati0

07/16/2011 at 03:02AM

17
#64 - Robert Robotter / robrob12

07/19/2011 at 09:04AM

17
#65 - Pierre / Pihour

07/27/2011 at 07:43PM

17
#66 - Enric Lluelles / enriclluelles

07/29/2011 at 01:19AM

17
#67 - Hu Junfeng / junfeng

08/05/2011 at 06:51AM

17
#68 - Stephen Gordon / DubsGordon

08/08/2011 at 10:06PM

17
#69 - William Wolf / throughnothing

08/31/2011 at 04:46AM

17
#70 - Theodore Finn Gast / tfgast

09/01/2011 at 08:17PM

17
#71 - David Jacobs / dave_jacobs

09/02/2011 at 05:46AM

17
#72 - Tim Tsu / vimgolfpunk

09/04/2011 at 11:31PM

17
#73 - Simon's Calf / simonscarfe

09/06/2011 at 11:55AM

17
#74 - Jesús Espino / jespinog

09/07/2011 at 09:46AM

17
#75 - Terrance Kennedy / Cyphus

09/09/2011 at 06:33AM

17
#76 - Justin Love / wondible

09/18/2011 at 12:20PM

17
#77 - André Kvist Aronsen / andrearonsen

10/24/2011 at 08:57AM

17
#78 - vimja / vimja666

10/29/2011 at 07:59AM

17
#79 - William Dunand / wdunand

11/15/2011 at 02:59AM

17
#80 - You-Siang Lin / yslinnctu

11/29/2011 at 03:52AM

17
#81 - Ben Somers / somanyrobots

11/30/2011 at 01:45AM

17
#82 - Gabriel Barta / gbarta

12/02/2011 at 10:06AM

17
#83 - Martin Aumueller / aumuell

12/14/2011 at 09:55AM

17
#84 - Jon Olin / 8BitTree

01/02/2012 at 02:10AM

17
#85 - derp derp / derp__

01/03/2012 at 08:07AM

17
#86 - Vlad Marsikov / gagabogolo

01/05/2012 at 10:01PM

17
#87 - Siu / davidsinuela

02/15/2012 at 10:51PM

17
#88 - 無ん垢の叫び / john_ababa

02/27/2012 at 01:05PM

17
#89 - dominique pellé / vimgolfisto

03/10/2012 at 05:35PM

17
#90 - cyberrodent_n / cyberRodent_n

03/30/2012 at 06:17AM

17
#91 - Augustin Trancart / autra42

04/23/2012 at 11:43AM

17
#92 - Rod Knowlton / codelahoma

04/27/2012 at 12:31AM

17
#93 - Kerson Hsiao / KersonHsiao

05/08/2012 at 10:48AM

17
#94 - Ben Friedland / bfriedland174

05/17/2012 at 09:31AM

17
#95 - Arckos / ArckosJungo

06/02/2013 at 11:25AM

17
#96 - Woojung Kim 김우중 / _kimwz

07/17/2013 at 11:25AM

17
#97 - Carl Shotwell / carl_talks

07/22/2013 at 07:01PM

17
#98 - Michael Lemley / audienceofnone

07/23/2013 at 07:16PM

17
#99 - apof / 9pof

09/13/2013 at 06:55AM

17
#100 - Joonas Pihlajamaa / jokkebk

02/24/2014 at 04:05PM

17
#101 - Logan Chadderdon / lwchadderdon

09/01/2014 at 12:29AM

17
#102 - Austin Smith / AssailantLF

12/05/2014 at 07:39PM

18
#103 - Jordan Lewis / JordanALewis

05/13/2011 at 07:44PM

18
#104 - Eduardo Ruiz Macias / eduarbo

05/13/2011 at 07:45PM

18
#105 - Steven Grady / steven807

05/27/2011 at 11:29PM

18
#106 - Steven / rockarts

07/18/2011 at 10:29PM

18
#107 - Brian Cooke / bricooke

08/31/2011 at 01:12PM

18
#108 - はまーん(浜田恭平) / haman29

09/25/2011 at 11:21AM

18
#109 - Joe Fredette / jfredett

10/10/2011 at 10:52PM

18
#110 - Jonathan Perichon / jperichon

10/14/2011 at 05:05AM

18
#111 - perfectworks / perfectworks

10/17/2011 at 06:36AM

18
#112 - knut ytterhaug / knutemann

11/22/2011 at 06:48PM

18
#113 - Premium Ben / muppling

12/02/2011 at 10:58AM

18
#114 - BJL / boklee

12/24/2011 at 11:47AM

18
#115 - Marcin Sza / coot_

10/20/2012 at 03:17PM

18
#116 - Norm Fasey / DeathRay1977

06/03/2013 at 10:17AM

18
#117 - Joel Byler / joelbyler

07/23/2013 at 10:40AM

18
#118 - Walker Boh / walker_boh

12/03/2015 at 08:42AM

18
#119 - Cristian Lupașcu / clupasq

03/25/2016 at 02:03PM

19
#120 - Jean-Rene David / jeanrenedavid

05/14/2011 at 10:37PM

19
#121 - Øystein Walle / oysteinwalle

07/06/2011 at 04:15PM

19
#122 - Jonathan Payne / JonathanPayne4

11/04/2011 at 09:00AM

19
#123 - Carlos Yaconi H. / cyaconi

12/07/2011 at 02:42PM

19
#124 - A / tndrnt

12/11/2011 at 10:07PM

19
#125 - Burkhard Zimmermann / BurkZimm

12/26/2011 at 11:24PM

19
#126 - bmamax / bmamax

01/17/2012 at 10:51AM

19
#127 - Tesnorth / Tesnorth

01/31/2012 at 02:20PM

19
#128 - Chris Penkett / chrispenkett

04/03/2012 at 06:38PM

19
#129 - Mikko Harju / mikharj

12/01/2012 at 09:37AM

19
#130 - James / Dronak

09/25/2013 at 11:22PM

19
#131 - cj / cj01101

01/30/2014 at 10:04PM

19
#132 - Robert / wrblgbrbl

03/07/2014 at 07:29PM

19
#133 - Rob Glew / RealGlew

06/12/2014 at 02:36PM

19
#134 - Unreal Name / morphles

11/23/2014 at 08:29PM

19
#135 - Benny Wong / bdotdub

05/05/2015 at 04:49PM

19
#136 - ltn614 / ltn614

09/29/2015 at 02:15PM

19
#137 - Matteo Signer / MatteoSigner

04/10/2016 at 10:01PM

19
#138 - no / masongclayton

08/05/2016 at 07:11AM

20
#139 - Toon Willems / nudded

11/27/2011 at 02:13PM

20
#140 - Ronie Uliana / ronie

02/29/2012 at 09:49PM

20
#141 - Runar / runarfu

01/12/2013 at 10:10AM

20
#142 - n2o4 / scatotonic

05/08/2013 at 01:32PM

20
#143 - Piotr Śniegowski / PiotrSniegowski

06/06/2013 at 02:33PM

20
#144 - brett / brettyukich

09/26/2013 at 10:21PM

20
#145 - Dennis Dashkevich / dskecse

12/01/2016 at 10:09AM

21
#146 - James Cash / jamesnvc

05/14/2011 at 12:46AM

21
#147 - Calvin Condon / ccondon

01/31/2012 at 05:25AM

22
#148 - Paweu1kZ nbNeyIhH / yUQlwsFpRSzxJFh

05/16/2011 at 05:25PM

22
#149 - Mislav Marohnić / mislav

12/05/2011 at 10:33PM

22
#150 - Tyler / tylerbindon

04/07/2013 at 12:48AM

23
#151 - Michael Jin / michaeljin

03/12/2012 at 12:56AM

23
#152 - Jacek Wysocki / ex00

06/14/2012 at 12:22PM

23
#153 - Chris Brown / engineercyb

09/13/2012 at 01:21AM

23
#154 - Connie Qi / connieqi

06/12/2014 at 02:40PM

24
#155 - Daniel Lundin / danielundin

11/21/2011 at 07:42PM

24
#156 - simonced / simonced

09/28/2014 at 12:15AM

25
#157 - Oliver Christ / 0liverChrist

11/12/2013 at 09:44PM

25
#158 - Habib Alamin / alaminium94

12/22/2015 at 10:40AM

25
#159 - Avian Y / y_avian

06/27/2017 at 07:40PM

26
#160 - Matt Donahoe / mdonahoe

10/13/2011 at 05:37AM

26
#161 - Alex Hammel / AlexJHammel

12/24/2012 at 07:35PM

30
#162 - Vojtěch Šívr / VojtechSivr

06/09/2011 at 07:54PM

30
#163 - Christopher Erin / MCNormalMode

09/21/2011 at 12:56AM

30
#164 - Tyler Breisacher / tbreisacher

08/25/2012 at 09:34AM

35
#165 - Joel Gallant / joelg236

03/09/2016 at 11:11PM

38
#166 - Narciso Guillen / narcisoguillen

05/03/2012 at 05:30PM