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

Search and Replace 0

Replace every instance of 'aaa' with 'xaaax'.

Start file
aaa
aab
abb
bbb
aaa
aab
abb
bbb
aaa
aab
abb
bbb
aaa
aab
abb
bbb
aaa
aab
abb
bbb
End file
xaaax
aab
abb
bbb
xaaax
aab
abb
bbb
xaaax
aab
abb
bbb
xaaax
aab
abb
bbb
xaaax
aab
abb
bbb

View Diff

1c1
< aaa
---
> xaaax
5c5
< aaa
---
> xaaax
9c9
< aaa
---
> xaaax
13c13
< aaa
---
> xaaax
17c17
< aaa
---
> xaaax

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 1266 remaining solutions by signing in and submitting your own entry
#1267 Richard Kaufman / @sparragus - Score: 96 - 12/29/10 @ 14:56
:/<BS>%/<Left><Left><Right>s<Right>'aa'<Left>a<Right>/<Left><Left>x<Left><Right><Right><BS><BS><Left><Left><Left><BS><Right><Right><Right><Right><Right>xaaax/g<CR>:wq<CR>

0 comments


Created by: @wolever

1267 active golfers, 3898 entries

Leaderboard (lowest score wins):
12
#481 - Ilya Shakirov / @aelaau

03/22/2017 at 09:16AM

12
#482 - caplod / @caplod

03/25/2017 at 03:53PM

12
#483 - Andreas Anderbach / @anderbacha

03/26/2017 at 11:24AM

12
#484 - 梧桐王子 / @WutongYujie

04/26/2017 at 05:17AM

12
#485 - James Houghton / @jamesthoughton

05/05/2017 at 06:25PM

12
#486 - Chris Robertson / @chrisxrobertson

05/17/2017 at 12:03PM

12
#487 - Melvin Cheung / @MelvinCheung

05/25/2017 at 05:43PM

12
#488 - Ernesto Barros / @ernestobarros7

05/25/2017 at 09:52PM

12
#489 - Ayush Sachdeva / @ayush000

06/05/2017 at 08:00PM

12
#490 - David Gustavsson / @mrGustaphe

06/10/2017 at 08:44PM

12
#491 - Lukas Galke / @_lpag

06/25/2017 at 11:09PM

12
#492 - Bennett Bernardoni / @BBernardoni

06/28/2017 at 10:01PM

12
#493 - John Marks / @__jmarks

07/03/2017 at 08:54PM

12
#494 - aa / @aassaad93

07/18/2017 at 05:42AM

12
#495 - Anne Pacalet / @_Anne_P

07/20/2017 at 11:18AM

12
#496 - Nick Johnstone / @widdnz

07/24/2017 at 11:55PM

12
#497 - 杨洋 / @176795444

08/29/2017 at 11:17AM

12
#498 - Darren Weston / @dazWestonUK

08/30/2017 at 04:24PM

12
#499 - Vim Golf / @golf_vim

10/26/2017 at 02:51AM

12
#500 - Florian Kluck / @KluckF

10/28/2017 at 07:28AM

12
#501 - Turkey Man / @lvturkeyman

11/08/2017 at 06:16PM

12
#502 - Benoit Mortgat / @Benoit_Mortgat

11/14/2017 at 12:16PM

12
#503 - Brandon Blakeley / @zkelvin

11/25/2017 at 01:21AM

12
#504 - Sage san / @sagesancast

12/18/2017 at 03:44PM

12
#505 - BarbaJol / @drpproteus

01/05/2018 at 03:19PM

12
#506 - c0llision / @sh3llcode

01/27/2018 at 08:14PM

12
#507 - TachyG / @Tachypsychique

01/29/2018 at 02:14PM

12
#508 - ParasamGateZero / @ParasamGateZero

01/31/2018 at 07:42PM

12
#509 - Kaydo Alders / @Yousousen

03/13/2018 at 02:31PM

12
#510 - Guirec CORBEL / @GuirecCorbel

04/03/2018 at 11:39PM