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

370 active golfers, 898 entries

Leaderboard (lowest score wins):
14
#331 - Adam Dratwinski / @adwinsky

11/27/2012 at 07:33PM

14
#332 - Dominick LoBraico / @pygatea

12/11/2012 at 11:20PM

14
#333 - Daniel Hahler / @blueyed

01/22/2013 at 08:14PM

14
#334 - Derek Salerno / @DerekSalerno

05/26/2013 at 10:24PM

14
#335 - Dave Aitken / @actionshrimp

08/27/2013 at 06:26PM

14
#336 - Raphaƫl Saunier / @RaphaelSaunier

08/27/2013 at 06:34PM

14
#337 - CJ Avilla / @wizemanip

05/12/2014 at 06:58PM

14
#338 - Patrick Pitoscia / @Patrick03960431

08/06/2014 at 02:35AM

14
#339 - ltn614 / @ltn614

09/21/2015 at 06:08AM

14
#340 - Gurukandhamoorthi / @Gurukandhamoor1

07/13/2017 at 12:05PM

14
#341 - Jurica / @Jurica34581259

11/19/2018 at 08:39PM

15
#342 - Mario Forner / @m_forner

06/19/2012 at 07:13AM

15
#343 - Kevin McGladdery / @run_kmc

08/11/2012 at 11:58PM

15
#344 - Tyler Breisacher / @tbreisacher

08/25/2012 at 07:54AM

15
#345 - wilddog64 / @chengkai318

12/17/2013 at 08:32PM

15
#346 - Etienne Tremel / @etiennetremel

02/20/2016 at 09:04PM

16
#347 - buz / @buzbone

06/15/2012 at 01:48AM

16
#348 - Viswanath Sivakumar / @viswanathgs

08/30/2012 at 03:24PM

16
#349 - murmurs / @mrmrs_

01/29/2014 at 12:34AM

16
#350 - Alex Bundy / @plntmusic

06/07/2014 at 08:55PM

16
#351 - LSMTD / @LSMTD

12/09/2014 at 03:35AM

16
#352 - Jonathan / @jmcphers

08/17/2016 at 11:53PM

16
#353 - carbonscott / @wangimagine

08/24/2016 at 12:31AM

17
#354 - lauri lehmijoki / @laurilehmijoki

06/02/2012 at 09:20AM

17
#355 - Phil / @ischi

01/02/2013 at 10:00AM

17
#356 - daveseibert / @daveseibert

08/02/2014 at 04:14AM

18
#357 - Endri Runa / @endiruna

06/13/2012 at 12:41AM

18
#358 - Christopher Biscardi / @chrisbiscardi

07/17/2012 at 07:29AM

18
#359 - Hersh Singh / @HershSingh

12/15/2013 at 06:51PM

18
#360 - Akshay Aurora / @akshayaurora

09/16/2014 at 08:12AM