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 9v00674f1bfb00000000063d

YAML to dotenv

Convert this YAML config file to a .env file.

Start file
vimgolf:
  logging:
    level: INFO
app:
  postgres:
    host: !ENV {POSTGRES_HOST}
    port: !ENV {POSTGRES_PORT}
  pulsar:
    host: !ENV ${PULSAR_HOST}
    port: !ENV ${PULSAR_PORT}
    namespace: vimgolf
    topic: !ENV ${PULSAR_TOPIC}
End file
POSTGRES_HOST=
POSTGRES_PORT=
PULSAR_HOST=
PULSAR_PORT=
PULSAR_TOPIC=

View Diff

1,12c1,5
< vimgolf:
<   logging:
<     level: INFO
< app:
<   postgres:
<     host: !ENV {POSTGRES_HOST}
<     port: !ENV {POSTGRES_PORT}
<   pulsar:
<     host: !ENV ${PULSAR_HOST}
<     port: !ENV ${PULSAR_PORT}
<     namespace: vimgolf
<     topic: !ENV ${PULSAR_TOPIC}
---
> POSTGRES_HOST=
> POSTGRES_PORT=
> PULSAR_HOST=
> PULSAR_PORT=
> PULSAR_TOPIC=

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 339 remaining solutions by signing in and submitting your own entry
#340 M L / @Mechse - Score: 193 - 09/05/25 @ 07:54
:%s/.*!ENV {<BS>}<BS>{}<Left>\?\$<0xc2><0xaf><BS>\?{<Right><BS>{<BS>\`?<BS><BS>?()<Left><Right>}<Left><Left>[A-Z_]*\<Right><Right>.*<BS><BS><Left><Left><Right><BS><BS><BS><Left><Left><Left><Right><Right><Right>)<Right>.<BS>*<BS><Left><Left><Left><BS><Right><Right><Right><BS><BS><BS><BS><BS><BS><BS><BS>()<Left>[]<Left>A-<BS>-Z<Right><Right><Left><Left>_<Right>*\<Right>}.*\?/<BS><BS><BS><BS><BS><Left><Left><Left><Left><Left><Left><Left><Left><Left><Left><Left>\<Right><Right><Right><Right><Right><Right><Right><Right><Right>?<BS><Right><Right>.*\?<BS><BS><BS><BS>/\1=/g<CR>_:%s/<0xc2><0xb0><BS>^[<0xc2><0xb0><BS>^A-Z].*\n//g<CR>:wq<CR>

0 comments


#341 skewcy-bot / @skewcy-bot - Score: 193 - 08/18/26 @ 15:25
:%s/.*!ENV {<BS>}<BS>{}<Left>\?\$<0xc2><0xaf><BS>\?{<Right><BS>{<BS>\`?<BS><BS>?()<Left><Right>}<Left><Left>[A-Z_]*\<Right><Right>.*<BS><BS><Left><Left><Right><BS><BS><BS><Left><Left><Left><Right><Right><Right>)<Right>.<BS>*<BS><Left><Left><Left><BS><Right><Right><Right><BS><BS><BS><BS><BS><BS><BS><BS>()<Left>[]<Left>A-<BS>-Z<Right><Right><Left><Left>_<Right>*\<Right>}.*\?/<BS><BS><BS><BS><BS><Left><Left><Left><Left><Left><Left><Left><Left><Left><Left><Left>\<Right><Right><Right><Right><Right><Right><Right><Right><Right>?<BS><Right><Right>.*\?<BS><BS><BS><BS>/\1=/g<CR>_:%s/<0xc2><0xb0><BS>^[<0xc2><0xb0><BS>^A-Z].*\n//g<CR>:wq<CR>

0 comments


Created by: @iantalks

341 active golfers, 1633 entries

Leaderboard (lowest score wins):
16
#61 - curbe454 / @curbe454

03/10/2026 at 01:12PM

16
#62 - winterveil / @wintermute-cell

03/10/2026 at 06:18PM

16
#63 - winter-loo / @winter-loo

03/18/2026 at 10:11PM

16
#64 - Rafe Murray / @rafe-murray

04/04/2026 at 04:57AM

16
#65 - Andrew / @fr0streaper

04/08/2026 at 10:41PM

16
#66 - Jim Hill / @jthill

05/02/2026 at 11:59PM

16
#67 - Илья Кукушкин / @kukuskin_a

06/01/2026 at 11:17PM

16
#68 - Ben Blute / @benblute

06/26/2026 at 07:15AM

16
#69 - NonlinearFruit / @NonlinearFruit

07/01/2026 at 06:17PM

16
#70 - raylmorris / @raylmorris

07/12/2026 at 11:03PM

16
#71 - Oliver Novák / @doggopwn

08/19/2026 at 07:22PM

16
#72 - mcrmck / @mcrmck

08/26/2026 at 03:51PM

17
#73 - Brendan Maginnis / @brendanator

12/09/2024 at 04:37PM

17
#74 - Herschel / @herschel-ma

01/01/2025 at 06:30AM

17
#75 - Victor Pfautz / @vpfautz

01/23/2025 at 02:31PM

17
#76 - Herman Stavelin / @HerSta

01/27/2025 at 11:42AM

17
#77 - Matt / @mcr05

02/26/2025 at 10:08PM

17
#78 - Michael Cuffaro / @maiku1008

03/02/2025 at 06:49PM

17
#79 - Sebastian Caicedo / @jsebdev

04/18/2025 at 04:44AM

17
#80 - Henry Crans / @hcrans

04/24/2025 at 01:31AM

17
#81 - daviddcox / @daviddcox

04/26/2025 at 05:41AM

17
#82 - jimmymills / @jimmymills

05/09/2025 at 08:21PM

17
#83 - EvenAnton / @EvenAnton

05/15/2025 at 05:41PM

17
#84 - Jason McKenzie / @hazzard993

05/19/2025 at 01:56AM

17
#85 - Damien Baldy / @dbaldy

05/20/2025 at 09:02PM

17
#86 - saito ren / @rennn-n

05/31/2025 at 05:17PM

17
#87 - danieltanto / @danieltanto

08/11/2025 at 02:05AM

17
#88 - Dmitry Prytkov / @hayer969

11/01/2025 at 12:22PM

17
#89 - yaskur0 / @yaskur0

11/10/2025 at 01:37AM

17
#90 - Jan Tesař / @tesar-tech

12/02/2025 at 12:25AM