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

385 active golfers, 942 entries

Leaderboard (lowest score wins):
15
#361 - Etienne Tremel / @etiennetremel

02/20/2016 at 09:04PM

16
#362 - buz / @buzbone

06/15/2012 at 01:48AM

16
#363 - Viswanath Sivakumar / @viswanathgs

08/30/2012 at 03:24PM

16
#364 - murmurs / @mrmrs_

01/29/2014 at 12:34AM

16
#365 - Alex Bundy / @plntmusic

06/07/2014 at 08:55PM

16
#366 - LSMTD / @LSMTD

12/09/2014 at 03:35AM

16
#367 - Jonathan / @jmcphers

08/17/2016 at 11:53PM

16
#368 - carbonscott / @wangimagine

08/24/2016 at 12:31AM

17
#369 - lauri lehmijoki / @laurilehmijoki

06/02/2012 at 09:20AM

17
#370 - Phil / @ischi

01/02/2013 at 10:00AM

17
#371 - daveseibert / @daveseibert

08/02/2014 at 04:14AM

18
#372 - Endri Runa / @endiruna

06/13/2012 at 12:41AM

18
#373 - Christopher Biscardi / @chrisbiscardi

07/17/2012 at 07:29AM

18
#374 - Hersh Singh / @HershSingh

12/15/2013 at 06:51PM

18
#375 - Akshay Aurora / @akshayaurora

09/16/2014 at 08:12AM

19
#376 - Stephan Baumeister / @baumichel

07/12/2012 at 03:02PM

19
#377 - Austin Ware / @AustinWare17

03/13/2018 at 02:22AM

20
#378 - Mark Burns / @_mark_burns

06/02/2012 at 09:36AM

21
#379 - Raman Venugopal / @raman162

01/29/2020 at 12:21AM

22
#380 - Roel van Dijk / @rdvdijk

06/05/2012 at 03:50PM

22
#381 - Marco / @xmarkoz

06/28/2012 at 04:10PM

24
#382 - Brent Woo / @BrentPWoo

02/28/2019 at 02:43AM

25
#383 - Calvin Flegal / @calflegal

06/20/2012 at 11:22PM

27
#384 - Jacob Vosmaer / @jacobvosmaer

06/03/2012 at 11:32AM

38
#385 - Noel Alejandro / @noelrock333

06/23/2012 at 12:08AM