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):
25
#181 - ak@developer / @Ajay-056

04/20/2025 at 06:04AM

25
#182 - Daniel Jahn (dahn) / @DahnJ

05/28/2025 at 10:10PM

25
#183 - Paul Müller / @Paulmue0

05/29/2025 at 11:37PM

25
#184 - Edward Minnix III / @egregius313

06/25/2025 at 02:04AM

25
#185 - speedking456 / @speedking456

07/14/2025 at 07:52PM

25
#186 - Tyler Patton / @jamestylerpatton

11/21/2025 at 02:09AM

25
#187 - Dabor241 / @Dabor241

01/12/2026 at 07:39PM

26
#188 - Nathan Gilman / @npgilman

04/16/2025 at 10:18PM

26
#189 - lovebigwei / @lovebigwei

04/17/2025 at 05:57AM

26
#190 - Skyler Arnold / @B1tWhys

05/10/2025 at 04:59AM

26
#191 - Dani Bengl / @cb341

12/27/2025 at 11:57PM

27
#192 - Fionn Fitzmaurice / @fionn

12/25/2024 at 03:51PM

27
#193 - _3tHeR_ / @3ther-joyboy

01/28/2025 at 08:41AM

27
#194 - Theau Poulat / @theaupoulat

04/03/2025 at 05:14PM

27
#195 - Gino Fazari / @GinoF

04/14/2025 at 03:58AM

27
#196 - Yu / @yxian9

04/25/2026 at 09:21PM

27
#197 - Ian Y.E. Pan / @ianyepan

05/19/2026 at 02:53AM

28
#198 - iantalks / @iantalks

12/04/2024 at 09:12AM

28
#199 - Jorge Nonell / @JorgeNonel56315

01/14/2025 at 08:21PM

28
#200 - rasputins / @rasputins

02/15/2025 at 04:35PM

28
#201 - Th0ught09 / @Th0ught09

04/24/2025 at 03:56PM

28
#202 - Jaxson Pahukula / @jaxsonp

04/26/2025 at 05:08AM

28
#203 - Andrey Rakhubovsky / @omnster

05/02/2025 at 01:29PM

28
#204 - Kristof Bruyninckx / @KristofBCoding

05/04/2025 at 09:48PM

28
#205 - GautR / @gautrr

05/14/2025 at 07:59PM

28
#206 - Leonardo Dipilato / @LeonardoDipilato

06/03/2025 at 03:23PM

28
#207 - asby / @asby

06/17/2025 at 11:39AM

28
#208 - Ed Leafe / @EdLeafe

06/26/2025 at 08:34PM

28
#209 - i0li / @i0li

07/25/2025 at 02:46AM

28
#210 - Seagull2004 / @Seagull2004

12/11/2025 at 10:45AM