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
#211 - mark0829 / @mark0829

02/06/2015 at 08:41AM

12
#212 - pftb12345 / @pftb12345

04/09/2015 at 05:35AM

12
#213 - Elizabeth / @sprinkles418

04/15/2015 at 05:46PM

12
#214 - SkΓΊli JΓ³hannsson / @skulibj

06/28/2015 at 05:40PM

12
#215 - Jon Krause / @jkrause314

12/18/2015 at 09:55PM

12
#216 - fuck GFW / @ravishGFW

01/05/2016 at 05:21AM

12
#217 - Ian Trophy / @prfrgg

02/01/2016 at 12:31PM

12
#218 - Chenut Ludovic / @7Brwa7

04/08/2016 at 08:11AM

12
#219 - Marcel Akkerman / @MarcelAkkerman

12/22/2016 at 11:54AM

12
#220 - MichaΕ‚ Dytko / @DytkoM

12/28/2016 at 09:33AM

12
#221 - Zhihong Liu / @pieapple03

03/01/2017 at 01:58AM

12
#222 - Ben Hill / @KaizenSoze70

01/31/2018 at 12:57PM

12
#223 - Bart Reynolds / @bartums

02/28/2018 at 01:41PM

12
#224 - Suzanne / @suzbotq

07/25/2018 at 12:28AM

12
#225 - name / @name65894813

11/28/2018 at 04:21PM

12
#226 - Bennett / @bennettbackward

12/19/2018 at 01:23PM

12
#227 - Bart Kleijngeld / @BartKleijngeld

12/24/2018 at 11:10PM

12
#228 - Mihai / @mihaicristiant

01/07/2019 at 12:03PM

12
#229 - πšƒπš’πšπš˜πšžπšŠπš— πšƒπšŽπš’πšœπšœπš’πšŽπš› / @TitouanT_

03/09/2019 at 10:29PM

12
#230 - Nick Yeow / @nickyeow

05/23/2019 at 11:35AM

12
#231 - Vimfiz / @vimfiz

06/07/2019 at 04:57PM

12
#232 - albalitz / @_albalitz

06/14/2019 at 12:19PM

12
#233 - Chester Yap / @Chest_ErYap

07/21/2019 at 01:05AM

12
#234 - Kenny Low / @kennylow

09/20/2019 at 01:38PM

12
#235 - Lory / @Lory46845742

11/22/2019 at 02:31PM

12
#236 - Johannes Riecken / @rubystallion

01/15/2020 at 07:47PM

12
#237 - iBhagwan / @iiBhagwan

06/29/2020 at 03:07AM

12
#238 - Jake Grossman / @PiranaLaugh

11/13/2020 at 07:42AM

12
#239 - Michel Viktor / @tomkpz

08/01/2021 at 01:21AM

12
#240 - Salvador Tojo Quintela / @SalvadorTojo

10/09/2021 at 06:38AM