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 203 remaining solutions by signing in and submitting your own entry
#204 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

204 active golfers, 574 entries

Leaderboard (lowest score wins):
17
#121 - Logan Chadderdon / @lwchadderdon

09/01/2014 at 12:29AM

17
#122 - Austin Smith / @AssailantLF

12/05/2014 at 07:39PM

17
#123 - Michael Meixner / @meixner62

01/24/2020 at 12:28PM

17
#124 - neonunux / @neonunux

12/28/2020 at 08:47PM

18
#125 - Jordan Lewis / @JordanALewis

05/13/2011 at 07:44PM

18
#126 - Eduardo Ruiz Macias / @eduarbo

05/13/2011 at 07:45PM

18
#127 - Steven Grady / @steven807

05/27/2011 at 11:29PM

18
#128 - Steven / @rockarts

07/18/2011 at 10:29PM

18
#129 - Brian Cooke / @bricooke

08/31/2011 at 01:12PM

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

09/25/2011 at 11:21AM

18
#131 - Joe Fredette / @jfredett

10/10/2011 at 10:52PM

18
#132 - Jonathan Perichon / @jperichon

10/14/2011 at 05:05AM

18
#133 - perfectworks / @perfectworks

10/17/2011 at 06:36AM

18
#134 - knut ytterhaug / @knutemann

11/22/2011 at 06:48PM

18
#135 - Tact Overflow / @muppling

12/02/2011 at 10:58AM

18
#136 - BJL / @boklee

12/24/2011 at 11:47AM

18
#137 - Marcin Szamotulski / @me_coot

10/20/2012 at 03:17PM

18
#138 - Norm Fasey / @DeathRay1977

06/03/2013 at 10:17AM

18
#139 - Joel Byler / @joelbyler

07/23/2013 at 10:40AM

18
#140 - Walker Boh / @walker_boh

12/03/2015 at 08:42AM

18
#141 - Cristian Lupașcu / @clupasq

03/25/2016 at 02:03PM

18
#142 - Jonathan Camilleri / @Too_Many_Taken

05/29/2018 at 04:27PM

19
#143 - Jean-Rene David / @jeanrenedavid

05/14/2011 at 10:37PM

19
#144 - Øystein Walle / @oysteinwalle

07/06/2011 at 04:15PM

19
#145 - Jonathan Payne / @JonathanPayne4

11/04/2011 at 09:00AM

19
#146 - Carlos Yaconi H. / @cyaconi

12/07/2011 at 02:42PM

19
#147 - A / @tndrnt

12/11/2011 at 10:07PM

19
#148 - Burkhard Zimmermann / @BurkZimm

12/26/2011 at 11:24PM

19
#149 - bmamax / @bmamax

01/17/2012 at 10:51AM

19
#150 - Tesnorth / @Tesnorth

01/31/2012 at 02:20PM