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 55771cc4750ef86573003b83

Line 'em up!

It can be so hard to keep everything neatly lined-up. Somebody clearly hasn't bothered here. Tidy it up, please!

Start file
foo {
    a   => "a",
    bc  => "bc",
    def => "def",
    ghij => "ghij",
    k => "k",
    lmn => "lmn",
    opqrst => "opqrst",
    uvw => "uvw",
    xyz => "xyz",
}
End file
foo {
    a       => "a",
    bc      => "bc",
    def     => "def",
    ghij    => "ghij",
    k       => "k",
    lmn     => "lmn",
    opqrst  => "opqrst",
    uvw     => "uvw",
    xyz     => "xyz",
}

View Diff

2,10c2,10
<     a   => "a",
<     bc  => "bc",
<     def => "def",
<     ghij => "ghij",
<     k => "k",
<     lmn => "lmn",
<     opqrst => "opqrst",
<     uvw => "uvw",
<     xyz => "xyz",
---
>     a       => "a",
>     bc      => "bc",
>     def     => "def",
>     ghij    => "ghij",
>     k       => "k",
>     lmn     => "lmn",
>     opqrst  => "opqrst",
>     uvw     => "uvw",
>     xyz     => "xyz",

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 65 remaining solutions by signing in and submitting your own entry
#66 mnx / mnxx - Score: 29 - 10/16/15 @ 03:58
Qset et ts=12<CR>%s/=/\t=<CR>ret<CR>x<CR>

0 comments

#67 Georgi Georgiev / GeorgievGeorgeS - Score: 30 - 06/13/15 @ 11:15
:%s/=/ =/<CR>9@:2gg13|qqdwjq8@qZZ

0 comments

#68 Lieven Keersmaekers / LievenKeersmaek - Score: 31 - 06/09/15 @ 17:32
:se ve=all|g/ =/norm nd$11|p<CR>ZZ

0 comments

#69 John Freeman / TheJohnFreeman - Score: 31 - 06/24/15 @ 02:16
:set et ts=12<CR>:%s/=/\t=<CR>:ret<CR>ZZ

0 comments

#70 Alex / ninjabassist777 - Score: 32 - 06/12/15 @ 21:06
?=<CR>i <Esc>3.n4.n1.n4.n6.n3.n4.n.n.ZZ

0 comments

#71 DESCHAMPS Henrick / H3nr1ck_ - Score: 32 - 06/13/15 @ 09:49
/=<CR>i <Esc>3.N4.N.N1.N4.N6.N3.N4.N.ZZ

0 comments

#72 Ashani Ray / ashaniray - Score: 32 - 09/15/15 @ 09:37
/=<CR>i <Esc>3.N4.N.N1.N4.N6.N3.N4.N.ZZ

0 comments

#73 Samir Sadek / netsamir - Score: 33 - 07/20/15 @ 09:21
:2,10norm f=13i <CR>q:kf=lid<Esc>$hr|<CR>ZZ

0 comments

#74 James Pringle / mathbyjames - Score: 34 - 06/09/15 @ 20:55
?=<CR>i <Esc>3.n4.n1.n4.n6.n3.n4.n4.n4.ZZ

0 comments

#75 Paul / MapCalculator - Score: 34 - 06/22/15 @ 23:57
?=<CR>i <Esc>3.n4.n1.n4.n6.n3.n4.n4.n4.ZZ

0 comments

#76 Alvaro Muñoz / pwntester - Score: 35 - 06/09/15 @ 20:30
G?=<CR>i <Esc>3.n4.n1.n4.n6.n3.n4.n4.n4.ZZ

0 comments

#77 damien farce / only15letters - Score: 36 - 06/10/15 @ 21:35
?=<CR>i <Esc>3.n4.n1.n4.n6.n3.n3.1.n4.n4.ZZ

0 comments

#78 Alphan Yılmaz / alphanyilmaz - Score: 38 - 06/27/15 @ 11:33
:%s/=/\r=<CR><C-V>16k$yk4A <Esc>p:g/^=/norm dd<CR>ZZ

0 comments

#79 Wlad / wladston - Score: 39 - 06/09/15 @ 18:02
3wi <Esc>3.jF=4.j;.j;3.j;6.j;4.j1.j;4.j;.ZZ

0 comments

#80 Markus Schnell / m_schnell - Score: 48 - 06/13/15 @ 07:52
:2,10norm 0f=20i <C-V><Esc>d20|<CR><C-V>hhhhhkkhhkkkkkkx<Esc>:q<BS>wq<CR>

0 comments

#81 Gabriel Magno / GabrielMagno - Score: 52 - 06/09/15 @ 19:02
:g<BS>5<CR>wi<BS><Esc>jbi  <Esc>:2<CR>w<C-V>jjjjjI    <Esc><Esc>:8<CR>wi <Esc>jb<C-V>jI    <Esc><Esc>ZZ

0 comments

#82 hidnasio / hidnasio - Score: 85 - 06/15/15 @ 00:05
/-<BS>-<BS>=<CR>i <Esc>3.n4.un4.nn4.Nnn3.Nnn6.nn4.nn11111111111<Esc><Esc>1nN.u1.nn3.u4>..u4.nn3.u4.:q<CR>:wq<CR>

0 comments

Created by: oneandoneis2

82 active golfers, 242 entries

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

06/09/2015 at 06:31PM

17
#2 - Vimgolf Guy / Guy_acct

06/09/2015 at 09:53PM

17
#3 - pftb12345 / pftb12345

06/09/2015 at 10:44PM

17
#4 - antew / antewcode

06/10/2015 at 01:56AM

17
#5 - Hao Deng / haodeng

06/10/2015 at 04:54AM

17
#6 - How Si Wei / houxiwu

06/10/2015 at 12:13PM

17
#7 - ahumph / ahumph

06/10/2015 at 02:13PM

17
#8 - John Braxler / braxler

06/10/2015 at 05:40PM

17
#9 - Spy / thatspysaspy

06/11/2015 at 08:29PM

17
#10 - Reese Wilson / shinyvimgolf

06/12/2015 at 06:24AM

17
#11 - Matthieu Crapet / mcr05

06/13/2015 at 08:53AM

17
#12 - Petro Тrouq / zulolosi

06/14/2015 at 11:09PM

17
#13 - Lifepillar / lifepillar

06/15/2015 at 06:23PM

17
#14 - Kévin R / shaiton_

06/16/2015 at 09:16AM

17
#15 - qwe31asd / qwe31asd

06/19/2015 at 08:56PM

17
#16 - Noud Speijcken / noudspeijcken

06/20/2015 at 07:39PM

17
#17 - Andres Manz / manz_andres

06/24/2015 at 01:23PM

17
#18 - Ferdev vimgolf / fergvimgolf

08/11/2015 at 08:51AM

17
#19 - Liam Thurston / lthurston188

08/17/2015 at 04:29AM

17
#20 - Veritas / _VeritasL

09/01/2015 at 02:25PM

17
#21 - oscar / zonza_mas

09/04/2015 at 11:14AM

17
#22 - Mike Adams / davis_cromwell

10/02/2015 at 02:17PM

17
#23 - Walker Boh / walker_boh

10/05/2015 at 11:10AM

17
#24 - Aleksey Zhidkov / AlexeyZhidkov

02/24/2016 at 09:04AM

17
#25 - Jon Krause / jkrause314

03/09/2016 at 03:10AM

17
#26 - Cristian Lupașcu / clupasq

03/19/2016 at 08:47PM

17
#27 - jj johnson / jcassj1

08/23/2016 at 09:50AM

17
#28 - Will / w_labranche

09/03/2016 at 06:01AM

17
#29 - Daniel / Daniel00288663

03/31/2017 at 08:20AM

18
#30 - Smylers / Smylers2

06/11/2015 at 02:51PM

18
#31 - Quota / Quotad

06/12/2015 at 09:02AM

18
#32 - Mutter Mumble / muttermumble

06/15/2015 at 08:15PM

18
#33 - Jakub Horák / kubahorak

06/23/2015 at 03:25PM

18
#34 - Peter B / l0wm4x

08/12/2015 at 08:23PM

18
#35 - Tamas Gal / tamasgal

09/26/2015 at 09:56PM

18
#36 - Dimitar Dimitrov / kurkale6ka

03/16/2016 at 09:28AM

18
#37 - Eero-Antero Säisä / jakolasku

05/02/2016 at 05:23PM

19
#38 - Robert Robertson / RobertC3228687

06/09/2015 at 08:57PM

19
#39 - Timothée Gauthier / zmf_tim

06/11/2015 at 10:27PM

19
#40 - Vivekanandan / viveklikesyou

06/14/2015 at 03:19AM

19
#41 - Hervé Rouault / hrouault

06/14/2015 at 11:01AM

19
#42 - nulusr / nulusr

06/17/2015 at 07:52AM

19
#43 - Omar Abou Mrad / omaraboumrad

06/18/2015 at 02:15PM

20
#44 - Blake Tereau / BlakeTereau

08/17/2015 at 09:59PM

20
#45 - Bogumił Kamiński / BogumilKaminski

10/26/2015 at 07:19PM

21
#46 - Louis Caruana / louiecaruana

06/10/2015 at 04:13AM

21
#47 - Tom van der Lee / TomVdLee

06/12/2015 at 06:47AM

21
#48 - JS / jjohsan

08/29/2015 at 04:54PM

21
#49 - Mark Brody / _markbrody

10/16/2015 at 10:08PM

22
#50 - Jezen Thomas / jezenthomas

06/09/2015 at 05:58PM

22
#51 - Geoff Gu / geoff_gu

06/28/2015 at 07:11AM

22
#52 - Bart / oneofmanybarts

06/30/2015 at 09:13AM

22
#53 - Louis Burke / LambdaABeta

07/07/2015 at 06:22PM

22
#54 - alex / alexAngle8

08/30/2015 at 09:17AM

22
#55 - merphant / merphant

10/22/2015 at 08:04AM

23
#56 - luffy / raxcoi

06/12/2015 at 03:50AM

26
#57 - James / Dronak

06/09/2015 at 08:29PM

26
#58 - Stefan Knudsen / knud32

06/10/2015 at 05:03AM

26
#59 - jackliusr / jackliusr

01/14/2016 at 02:53PM

27
#60 - Marcelo Montu / _mMontu_

06/17/2015 at 05:05PM

27
#61 - Abdo Achkar / Achkar

08/13/2015 at 08:44AM

28
#62 - Mac Goever / MacGoever

06/15/2015 at 10:52AM

28
#63 - Teemu Okkonen / TeemuOkkonen

07/07/2015 at 03:24PM

28
#64 - Endre Galaczi / galacziendre

08/15/2015 at 09:54PM

28
#65 - Chenut Ludovic / 7Brwa7

04/06/2016 at 01:13PM

29
#66 - mnx / mnxx

10/16/2015 at 03:58AM

30
#67 - Georgi Georgiev / GeorgievGeorgeS

06/13/2015 at 11:15AM

31
#68 - Lieven Keersmaekers / LievenKeersmaek

06/09/2015 at 05:32PM

31
#69 - John Freeman / TheJohnFreeman

06/24/2015 at 02:16AM

32
#70 - Alex / ninjabassist777

06/12/2015 at 09:06PM

32
#71 - DESCHAMPS Henrick / H3nr1ck_

06/13/2015 at 09:49AM

32
#72 - Ashani Ray / ashaniray

09/15/2015 at 09:37AM

33
#73 - Samir Sadek / netsamir

07/20/2015 at 09:21AM

34
#74 - James Pringle / mathbyjames

06/09/2015 at 08:55PM

34
#75 - Paul / MapCalculator

06/22/2015 at 11:57PM

35
#76 - Alvaro Muñoz / pwntester

06/09/2015 at 08:30PM

36
#77 - damien farce / only15letters

06/10/2015 at 09:35PM

38
#78 - Alphan Yılmaz / alphanyilmaz

06/27/2015 at 11:33AM

39
#79 - Wlad / wladston

06/09/2015 at 06:02PM

48
#80 - Markus Schnell / m_schnell

06/13/2015 at 07:52AM

52
#81 - Gabriel Magno / GabrielMagno

06/09/2015 at 07:02PM

85
#82 - hidnasio / hidnasio

06/15/2015 at 12:05AM