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 1630 remaining solutions by signing in and submitting your own entry
#1631 Heissen López / @heilop - Score: 140 - 06/15/20 @ 21:30
<Esc>%i<Esc>%<Down><Down><Down><Down><Down><Down><Down><Down><Down><Down><Down><Down><Down><Down><Down><Down><Down><Down><Down><Down><Down><Down><Up><Up><Up><Up><Up><Up><Up><Up><Up><Up><Up><Up><Up><Up><Up><Up><Up><Up><Up><Up><Up><Up><Up><Up><Up><Up><Up><Up><Up><Up><Up><Up><Up><Up><Up><Up><Up><Up><Up><Esc>%/aaa/xaaax/g<CR><Up><Down><Esc>%/aaa/Replace<CR><CR><Esc>:%/aaa/xax<BS>aax/g<CR><Esc>:%s/aaa/xaaax/g<CR><Esc>:wq!<CR>

0 comments


Created by: @wolever

1631 active golfers, 5007 entries

Leaderboard (lowest score wins):
21
#1531 - ryanmusicman / @ryanmusicman

12/29/2010 at 10:26PM

21
#1532 - Vishal Bhavsar / @vbhavsar

12/30/2010 at 12:29AM

21
#1533 - Brent Lintner / @brentlintner

12/30/2010 at 12:29AM

21
#1534 - Radu Bogdan Croitoru / @dotx

02/21/2014 at 10:53PM

21
#1535 - Rounak Jain / @r0unak

03/04/2014 at 11:30AM

21
#1536 - ЕвгенийВ / @imater

10/27/2014 at 04:13PM

21
#1537 - David Butler / @dbuts11

06/08/2018 at 02:42AM

21
#1538 - x / @1rvan3210

08/11/2019 at 12:08AM

21
#1539 - Connor / @robotboy_69

01/31/2020 at 03:25AM

21
#1540 - Anis Safine / @anis

05/22/2024 at 09:56AM

21
#1541 - Oli / @olileung

03/15/2025 at 12:42PM

22
#1542 - Ronuk Raval / @rraval

12/29/2010 at 02:18AM

22
#1543 - Kiran Ryali / @kiranryali

12/29/2010 at 03:51AM

22
#1544 - Bennett A. Joseph / @bennettajoseph

12/29/2010 at 06:45AM

22
#1545 - ivarv / @ivarv

12/29/2010 at 07:46AM

22
#1546 - Rohit Nair / @rohitnair

12/29/2010 at 08:44AM

22
#1547 - Jan B. / @bracki

12/29/2010 at 08:53AM

22
#1548 - 東 / @lldong

12/29/2010 at 10:57AM

22
#1549 - Simon Walker / @srwalker101

12/29/2010 at 11:37AM

22
#1550 - Fer Enaf / @0x00C0FFEE

12/29/2010 at 12:44PM

22
#1551 - smokey42 / @smokey42

12/29/2010 at 02:16PM

22
#1552 - David Anguita / @danguita

12/30/2010 at 09:12AM

22
#1553 - arumat / @ryochack

04/24/2011 at 07:41AM

22
#1554 - sorami / @boredoms

04/30/2011 at 09:43PM

22
#1555 - olivier lemoigne / @olivierlemoigne

05/04/2018 at 12:42PM

22
#1556 - Todd Zimmerman / @zimmermant_uw

02/03/2019 at 03:36PM

22
#1557 - craig.ers / @craigkahle

07/03/2019 at 04:30PM

22
#1558 - Mance Rayder / @AlexAckerlund

01/21/2020 at 08:06PM

22
#1559 - jan kovacovsky / @JanKovacovsky

11/21/2021 at 06:58PM

22
#1560 - Chippy ash / @_rayrain

02/18/2023 at 03:02PM