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 184 remaining solutions by signing in and submitting your own entry
#185 Jurica / @Jurica34581259 - Score: 47 - 12/12/18 @ 12:02
:1,10s/$/\t<CR>1Gqa10j0yw10k$p<Esc>jq9@a:g/^[1-9]/d<CR>ZZ

0 comments


Created by: @mwhooker

185 active golfers, 484 entries

Leaderboard (lowest score wins):
18
#121 - perfectworks / @perfectworks

10/17/2011 at 06:36AM

18
#122 - knut ytterhaug / @knutemann

11/22/2011 at 06:48PM

18
#123 - Tact Overflow / @muppling

12/02/2011 at 10:58AM

18
#124 - BJL / @boklee

12/24/2011 at 11:47AM

18
#125 - Marcin Sza / @coot_

10/20/2012 at 03:17PM

18
#126 - Norm Fasey / @DeathRay1977

06/03/2013 at 10:17AM

18
#127 - Joel Byler / @joelbyler

07/23/2013 at 10:40AM

18
#128 - Walker Boh / @walker_boh

12/03/2015 at 08:42AM

18
#129 - Cristian Lupașcu / @clupasq

03/25/2016 at 02:03PM

18
#130 - Jonathan Camilleri / @Too_Many_Taken

05/29/2018 at 04:27PM

19
#131 - Jean-Rene David / @jeanrenedavid

05/14/2011 at 10:37PM

19
#132 - Øystein Walle / @oysteinwalle

07/06/2011 at 04:15PM

19
#133 - Jonathan Payne / @JonathanPayne4

11/04/2011 at 09:00AM

19
#134 - Carlos Yaconi H. / @cyaconi

12/07/2011 at 02:42PM

19
#135 - A / @tndrnt

12/11/2011 at 10:07PM

19
#136 - Burkhard Zimmermann / @BurkZimm

12/26/2011 at 11:24PM

19
#137 - bmamax / @bmamax

01/17/2012 at 10:51AM

19
#138 - Tesnorth / @Tesnorth

01/31/2012 at 02:20PM

19
#139 - Chris Penkett / @chrispenkett

04/03/2012 at 06:38PM

19
#140 - Mikko Harju / @mikharj

12/01/2012 at 09:37AM

19
#141 - James / @Dronak

09/25/2013 at 11:22PM

19
#142 - cj / @cj01101

01/30/2014 at 10:04PM

19
#143 - Robert / @wrblgbrbl

03/07/2014 at 07:29PM

19
#144 - Rob Glew / @RealGlew

06/12/2014 at 02:36PM

19
#145 - Unreal Name / @morphles

11/23/2014 at 08:29PM

19
#146 - Benny Wong / @bdotdub

05/05/2015 at 04:49PM

19
#147 - ltn614 / @ltn614

09/29/2015 at 02:15PM

19
#148 - Matteo Signer / @MatteoSigner

04/10/2016 at 10:01PM

19
#149 - no / @masongclayton

08/05/2016 at 07:11AM

19
#150 - Nir Givon / @nir_givon

11/08/2018 at 07:21AM