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):
12
#241 - Homo Ludens / @BsMainly

11/03/2021 at 04:02AM

12
#242 - Jean George / @JeanGeo20504212

01/15/2022 at 10:26AM

12
#243 - blabla zincou / @BZincou

04/10/2022 at 08:50PM

12
#244 - Levi Wheeler / @LeviWhe68726437

06/15/2022 at 08:15PM

13
#245 - Kerson Hsiao / @KersonHsiao

06/02/2012 at 09:36AM

13
#246 - 無ん垢の叫び / @john_ababa

06/02/2012 at 09:48AM

13
#247 - Asenar / @asenar

06/02/2012 at 03:49PM

13
#248 - Thomas Schönwälder / @Masei1988

06/02/2012 at 05:29PM

13
#249 - Mattiassich Ákos / @mattiassicha

06/03/2012 at 06:11PM

13
#250 - Daniel Lundin / @danielundin

06/04/2012 at 07:16AM

13
#251 - shutl_test / @shutl_test

06/06/2012 at 11:24AM

13
#252 - Thierry Flauss / @ThFjunior

06/12/2012 at 06:16PM

13
#253 - noom narze / @NarzE

06/18/2012 at 06:20AM

13
#254 - 楚安 / @wwtwi

06/18/2012 at 11:33AM

13
#255 - Johannes Bubenzer / @joh_bub

06/19/2012 at 10:03AM

13
#256 - Ryan Kois / @r_kois

06/20/2012 at 11:19PM

13
#257 - Ibrahim Tencer / @ibrahimtencer

07/05/2012 at 06:13PM

13
#258 - Michael Blatherwick / @rogue_michael

07/06/2012 at 09:41AM

13
#259 - Eric Mathison / @ericmathison

07/13/2012 at 07:51AM

13
#260 - Ben Alpert / @soprano

07/17/2012 at 08:59AM

13
#261 - Drew Benedetti / @cnorsl

07/17/2012 at 07:26PM

13
#262 - Federico Bond / @federicobond

07/22/2012 at 05:21AM

13
#263 - Ryan Patterson / @CGamesPlay

07/29/2012 at 09:45PM

13
#264 - Adam Abeshouse / @AdamAbeshouse

08/09/2012 at 08:18PM

13
#265 - it's not me / @dpree

08/10/2012 at 03:54PM

13
#266 - Michael Limiero / @michaellimiero

08/14/2012 at 11:23PM

13
#267 - Eumir Gaspar / @corrodedlotus

08/23/2012 at 11:30AM

13
#268 - Emile Swarts / @EmileSwarts

08/26/2012 at 10:22PM

13
#269 - OJ / @TheColonial

08/27/2012 at 10:18AM

13
#270 - Théophile Wallez / @twallez

08/30/2012 at 02:07PM