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
#31 - Karl Stump / @karl_stump

05/19/2025 at 02:21PM

16
#32 - William Grant Mayer / @wgmayer0

05/22/2025 at 11:51PM

16
#33 - Leon Kacowicz / @leonkacowicz

05/23/2025 at 01:08PM

16
#34 - Hessesian / @Hessesian

05/28/2025 at 09:19AM

16
#35 - Egor Derevlev / @Neofuturist

06/18/2025 at 11:02PM

16
#36 - Tobias / @tobiasldn

06/20/2025 at 07:12PM

16
#37 - John Smith / @johnsmith0x3f

06/22/2025 at 10:28AM

16
#38 - Paul Hutchins / @hutchinsp01

06/26/2025 at 06:19AM

16
#39 - François / @fleborne

07/01/2025 at 08:41PM

16
#40 - Cameron Wolfe / @Camty1

07/04/2025 at 11:50PM

16
#41 - Ben Lenarts / @benlenarts

07/06/2025 at 06:14PM

16
#42 - petr-kx / @petr-kx

07/15/2025 at 06:24PM

16
#43 - Benjamin / @b2vqbw

07/16/2025 at 03:04PM

16
#44 - Ozan / @OzanY4

07/21/2025 at 02:34AM

16
#45 - hundertzwoelf / @hundertzwoelf

08/13/2025 at 01:34PM

16
#46 - dnzc / @dnzc

08/29/2025 at 12:58AM

16
#47 - Ada / @ada-nomosone

08/29/2025 at 01:38AM

16
#48 - Vsevolod Rychkov / @MadPigeon

09/04/2025 at 11:18AM

16
#49 - dbil25 / @dbil25

10/22/2025 at 07:48PM

16
#50 - Gavin / @GavinKoeng

10/29/2025 at 09:00AM

16
#51 - Aly Thobani / @alythobani

11/22/2025 at 09:54PM

16
#52 - Tim Rutter / @timrutter

11/25/2025 at 01:27PM

16
#53 - Whitaker Trebella / @wtrebella

12/09/2025 at 12:23PM

16
#54 - Str8Razor / @Str8Razor

12/18/2025 at 11:31PM

16
#55 - Harun Koç / @Wueenzy

12/19/2025 at 01:29PM

16
#56 - Rayan Ali SALEM / @VKWHM

12/19/2025 at 03:24PM

16
#57 - Konrad Guzek / @kguzek

12/24/2025 at 07:36PM

16
#58 - kloir-z / @kloir-z

01/12/2026 at 06:56AM

16
#59 - Jordan Vaandering / @cat-phish

02/26/2026 at 09:04AM

16
#60 - Álvaro Veiga / @alvaromrveiga

02/27/2026 at 03:02PM