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 57a87f444f1a8e3c4000ff8c

Pretty multi-line bash

Bash line continuations are much prettier when they're column aligned.

Start file
RUN wget https://openresty.org/download/openresty-1.9.7.5.tar.gz && \
    tar xzf openresty-1.9.7.5.tar.gz && \
    cd openresty-1.9.7.5 && \
    ./configure && \
    make && \
    make install && \
    rm -rf /openresty*
End file
RUN wget https://openresty.org/download/openresty-1.9.7.5.tar.gz && \
    tar xzf openresty-1.9.7.5.tar.gz                             && \
    cd openresty-1.9.7.5                                         && \
    ./configure                                                  && \
    make                                                         && \
    make install                                                 && \
    rm -rf /openresty*

View Diff

2,6c2,6
<     tar xzf openresty-1.9.7.5.tar.gz && \
<     cd openresty-1.9.7.5 && \
<     ./configure && \
<     make && \
<     make install && \
---
>     tar xzf openresty-1.9.7.5.tar.gz                             && \
>     cd openresty-1.9.7.5                                         && \
>     ./configure                                                  && \
>     make                                                         && \
>     make install                                                 && \

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 46 remaining solutions by signing in and submitting your own entry
#47 Cristian Lupașcu / clupasq - Score: 31 - 08/08/16 @ 17:34
?&&<CR>70i <Esc>n.n.n.n.njdwj.j.j.j.ZZ

0 comments

#48 Guillaume Seren / guillaumeseren - Score: 31 - 08/08/16 @ 18:09
?&&<CR>70i <Esc>n.n.n.n.njdwj.j.j.j.ZZ

0 comments

#49 Louis Caruana / louiecaruana - Score: 31 - 08/09/16 @ 03:03
jV4j:ri69<CR>B<C-V>Bh5jxjV4j:le4<CR>b$pZZ

0 comments

#50 Jeremiah Goyette / JeremiahGoyette - Score: 31 - 08/20/16 @ 05:21
jV4j:ri69<CR>B<C-V>Bh5jxjV4j:le4<CR>b$pZZ

0 comments

#51 Constantine / ConstantineHatz - Score: 31 - 09/16/16 @ 22:22
?&&<CR>70i <Esc>n.n.n.n.njdwj.j.j.j.ZZ

0 comments

#52 張育瑄 / harry830622 - Score: 31 - 11/10/16 @ 09:30
?&&<CR>60i <Esc>n.n.n.n.njdwj.j.j.j.ZZ

0 comments

#53 Yann / yannstadnicki - Score: 31 - 02/26/17 @ 19:10
?&&<CR>70i <Esc>n.n.n.n.njdwj.j.j.j.ZZ

0 comments

#54 d1uckym d1uckym / d1uckym - Score: 33 - 08/14/16 @ 03:41
?&&<CR>qd70i <Esc>nq4@djdwjdwjdwjdwjdwZZ

0 comments

#55 Antoni Villalonga / friki - Score: 33 - 08/15/16 @ 10:33
/&&<CR>ni <Esc>27.nn40.nn49.nn56.nn48.ZZ

0 comments

#56 Frank Berthold / fkberthold - Score: 49 - 08/12/16 @ 19:53
qa0jf&q28i <Esc>@a30i <Esc>10i <Esc>@a49i <Esc>@a56i <Esc>@a48i <Esc>:wq<CR>

0 comments

#57 Marc / Fusselgesicht - Score: 54 - 08/12/16 @ 16:40
$jb31i <Esc>hhxxxjbi<Esc><0xc3><0xb6>l41i <Esc>xjb49i <Esc>jb55i <Esc>i <Esc>jb48i <Esc>:wq<CR>

0 comments

#58 kodemaan / kodemaan - Score: 130 - 08/10/16 @ 13:22
/&&<CR>ni<Esc>l20i <Esc>i        <Esc>nni50<BS><BS><Esc>l50i <Esc>hlvhhhhhhhhhxjhhhi <Esc>li<Esc>30i <Esc>.hhhhhhhhhhlxxxxxxxxxxxxjhhhi<Esc>50i <Esc>i      <Esc>jhhh40i <Esc>i        <Esc>:x<CR>

0 comments

Created by: AssafLavie

58 active golfers, 167 entries

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

08/08/2016 at 04:57PM

15
#2 - Smylers / Smylers2

08/08/2016 at 07:34PM

15
#3 - John Braxler / braxler

08/08/2016 at 07:36PM

15
#4 - jaresty / jaresty

08/09/2016 at 12:53AM

15
#5 - Eddie Elizondo / eddie_elizondo

08/09/2016 at 06:33AM

15
#6 - Daniel and Valerie / daniel_and_val

08/09/2016 at 08:12AM

15
#7 - Josh Samuelson / JoshSamuelson

08/09/2016 at 11:36PM

15
#8 - Pedro Santos / pedrosans

08/12/2016 at 04:49AM

15
#9 - Foo Bar / foobar01123

08/16/2016 at 09:13AM

15
#10 - Atrament / Atrament

08/20/2016 at 03:45PM

15
#11 - Stanislav / prstad

08/22/2016 at 03:37PM

15
#12 - Ivan De Dios / IvantheDugtrio

08/22/2016 at 08:01PM

15
#13 - citaret / citaret

08/24/2016 at 08:00AM

15
#14 - Will / w_labranche

08/31/2016 at 06:20AM

15
#15 - Stephen Aument / saument

09/01/2016 at 09:53PM

15
#16 - jdupont655 / jdupont655

09/02/2016 at 12:34AM

15
#17 - loki2441 / loki2441

09/05/2016 at 08:34PM

15
#18 - hor1ace / hor3ace

09/07/2016 at 11:30PM

15
#19 - Nico / _Nico_Caro

09/27/2016 at 04:23AM

15
#20 - trx / trxdbg

10/12/2016 at 06:03AM

15
#21 - Davis Fields / i301585

11/05/2016 at 05:59AM

15
#22 - Saki Gw / Sakigw

01/20/2017 at 08:30PM

15
#23 - sijinyuan / sijinyuan

02/27/2017 at 02:20AM

15
#24 - Daniel / Daniel00288663

03/30/2017 at 01:20PM

15
#25 - James Houghton / jamesthoughton

05/20/2017 at 12:19AM

19
#26 - Jon Krause / jkrause314

08/08/2016 at 04:37PM

19
#27 - Matthieu Crapet / mcr05

08/14/2016 at 11:52AM

21
#28 - tPenguinLTG / tpenguinltg

08/11/2016 at 07:41AM

21
#29 - Maxime Reis / MaximeReis

08/11/2016 at 04:06PM

21
#30 - Lifepillar / lifepillar

08/15/2016 at 05:11AM

21
#31 - Stoyko Stanchev / stoykostanchev

09/27/2016 at 12:09AM

21
#32 - Netrisk Cool / C00lt0

10/01/2016 at 09:41AM

21
#33 - i1464083 / i1464083

11/18/2016 at 01:43PM

21
#34 - Etienne Florent / EtienneFlorent

11/25/2016 at 01:31PM

22
#35 - Michael Brailsford / brailsmt

08/12/2016 at 02:57PM

22
#36 - Yu-Lun Tseng / YuLunTseng

08/14/2016 at 01:50PM

23
#37 - TweetDreams / TweetMusicians

10/09/2016 at 12:38AM

25
#38 - イーサン / metakirby5

09/08/2016 at 01:47AM

27
#39 - И К / igorjan94

09/14/2016 at 12:56PM

28
#40 - George Angelopoulos / g_usermod

08/09/2016 at 09:00AM

28
#41 - Mark Brody / _markbrody

03/23/2017 at 06:46AM

29
#42 - Ernesto Nakamura / ernestonakamura

08/09/2016 at 12:25AM

30
#43 - ♜ José Doval / pepellou

08/08/2016 at 04:46PM

30
#44 - 7r6a2l / 7r6a2l

08/10/2016 at 01:06AM

30
#45 - Christian Rondeau / c_rondeau

10/16/2016 at 06:57PM

31
#46 - Walker Boh / walker_boh

08/08/2016 at 01:29PM

31
#47 - Cristian Lupașcu / clupasq

08/08/2016 at 05:34PM

31
#48 - Guillaume Seren / guillaumeseren

08/08/2016 at 06:09PM

31
#49 - Louis Caruana / louiecaruana

08/09/2016 at 03:03AM

31
#50 - Jeremiah Goyette / JeremiahGoyette

08/20/2016 at 05:21AM

31
#51 - Constantine / ConstantineHatz

09/16/2016 at 10:22PM

31
#52 - 張育瑄 / harry830622

11/10/2016 at 09:30AM

31
#53 - Yann / yannstadnicki

02/26/2017 at 07:10PM

33
#54 - d1uckym d1uckym / d1uckym

08/14/2016 at 03:41AM

33
#55 - Antoni Villalonga / friki

08/15/2016 at 10:33AM

49
#56 - Frank Berthold / fkberthold

08/12/2016 at 07:53PM

54
#57 - Marc / Fusselgesicht

08/12/2016 at 04:40PM

130
#58 - kodemaan / kodemaan

08/10/2016 at 01:22PM