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

0 comments


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

0 comments


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

0 comments


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

0 comments


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

0 comments


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

0 comments


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

0 comments


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

0 comments


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

0 comments


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

0 comments


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

0 comments


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

0 comments


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

0 comments


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

0 comments


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

0 comments


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

0 comments


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

0 comments


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

0 comments


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

0 comments


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


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

0 comments


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

0 comments


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

0 comments


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

0 comments


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

0 comments


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

0 comments


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

0 comments


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

0 comments


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

0 comments


#172 Gurukandhamoorthi / Gurukandhamoor1 - Score: 26 - 08/03/17 @ 18:19
:1,10s/$/<Tab><CR>j<C-V>GlxH$p11GdGZZ

0 comments


#173 Matthew Broatch / mnbroatch - Score: 28 - 07/09/17 @ 23:08
qq11GDJ<C-O>ea<Tab><Esc>p<CR>q9@qdd$a<Tab>10<Esc>ZZ

0 comments


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


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

0 comments


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


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

0 comments


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

178 active golfers, 467 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

15
#15 - Joel Meyer-Hamme / JoelMeyerHamme

07/22/2017 at 05:32PM

15
#16 - Karol Łukaszewicz / Karolukaszewicz

08/03/2017 at 05:23PM

15
#17 - Sergio / voyeg3r

09/25/2017 at 10:44PM

15
#18 - Turkey Man / lvturkeyman

11/27/2017 at 07:27AM

15
#19 - BarbaJol / drpproteus

01/10/2018 at 06:33PM

15
#20 - Evgeny`s Kindle / EvgenyKindle

05/15/2018 at 05:56AM

15
#21 - Asheq / TwoMegaOhms

06/06/2018 at 02:00AM

16
#22 - Trevor Powell / DoomedBunnies

12/07/2011 at 04:20AM

16
#23 - Jakub Arnold / darthdeus

12/19/2011 at 03:43PM

16
#24 - Renat Aksitov / Korvin79

02/08/2012 at 05:02PM

16
#25 - Federico Galassi / federicogalassi

02/22/2012 at 09:06PM

16
#26 - John Anderson / opejn

03/31/2012 at 04:12PM

16
#27 - Tim Chase / gumnos

04/27/2012 at 11:18PM

16
#28 - ise0615 / ise0615

05/05/2012 at 11:39AM

16
#29 - Sebastian Kusnier / skusnier

05/06/2012 at 08:38PM

16
#30 - Miha Filej / mfilej

06/26/2012 at 07:48PM