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 4fc9d767d3a0d4000100000e

Append semicolon after expressions

Some lines need the semicolon, some don't.

Start file
var foo

var bar = myCoolStuff()

callRemote()

foo = callTheWorld()
End file
var foo;

var bar = myCoolStuff();

callRemote();

foo = callTheWorld();

View Diff

1c1
< var foo
---
> var foo;
3c3
< var bar = myCoolStuff()
---
> var bar = myCoolStuff();
5c5
< callRemote()
---
> callRemote();
7c7
< foo = callTheWorld()
---
> foo = callTheWorld();

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 366 remaining solutions by signing in and submitting your own entry
#367 Noel Alejandro / @noelrock333 - Score: 38 - 06/23/12 @ 00:08
:4<BS>%s.<BS>/s<BS>)/x<BS>no<BS><BS>/<BS>(<BS>);/<CR>1G7la;<Esc>:w<CR><C-W>q

0 comments


Created by: @laurilehmijoki

367 active golfers, 890 entries

Leaderboard (lowest score wins):
13
#301 - William Ott / @oddalot

04/09/2015 at 01:27PM

13
#302 - Gael Roue / @gaelroue

05/02/2015 at 03:46PM

13
#303 - chvzvhn / @chvzvhn

05/03/2015 at 08:43PM

13
#304 - Hendrik Lammers / @hendriklammers

05/28/2015 at 05:45PM

13
#305 - Oliver Christ / @0liverChrist

08/25/2015 at 07:19PM

13
#306 - Gerald Tilma / @GeraldTilma

10/21/2015 at 01:12AM

13
#307 - Zach Gulde / @zgulde

02/29/2016 at 06:47AM

13
#308 - Dimitar Dimitrov / @kurkale6ka

03/18/2016 at 09:31AM

13
#309 - iNaKoll / @iNaKoll

05/08/2016 at 04:33PM

13
#310 - jake worth / @jwworth

08/24/2016 at 12:23AM

13
#311 - jn / @j1357924

09/14/2016 at 07:24PM

13
#312 - Kyouma / @kyoumaJohn

10/14/2016 at 07:58PM

13
#313 - Asno / @AsnoGordo

07/04/2017 at 08:04PM

13
#314 - Brandon Blakeley / @zkelvin

11/25/2017 at 05:17AM

13
#315 - Eric Moss / @NotEricMoss

02/18/2019 at 06:00PM

13
#316 - José / @AngelGaldamez

09/12/2019 at 02:30AM

14
#317 - celery rho gamma / @rentalcustard

06/02/2012 at 09:35AM

14
#318 - Jakub Troszok / @zosoooo

06/02/2012 at 10:05AM

14
#319 - Matty Williams / @matty_jwilliams

06/08/2012 at 12:17PM

14
#320 - Tadas Sce / @tadassce

06/10/2012 at 08:41PM

14
#321 - Carlos Hernando / @chernando

06/13/2012 at 07:03PM

14
#322 - Florian Motlik / @leanvienna

06/14/2012 at 12:47PM

14
#323 - J Paul Daigle / @philosodad

06/19/2012 at 01:17PM

14
#324 - Mike Kenyon / @mike_kenyon

07/16/2012 at 05:10PM

14
#325 - Lukas Korsika / @LKorsika

07/17/2012 at 05:12AM

14
#326 - Kim Le / @kimledev1

07/31/2012 at 10:40PM

14
#327 - Javier Cervantes / @solojavier

09/04/2012 at 06:43PM

14
#328 - Adam Dratwinski / @adwinsky

11/27/2012 at 07:33PM

14
#329 - Dominick LoBraico / @pygatea

12/11/2012 at 11:20PM

14
#330 - Daniel Hahler / @blueyed

01/22/2013 at 08:14PM