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):
36
#271 - Nicholas Kress / @kressnick25

04/21/2025 at 10:11AM

36
#272 - Sjur B. / @Apostrophel

05/23/2025 at 08:12PM

36
#273 - Roméo Maignal / @maignal

06/11/2026 at 08:54AM

37
#274 - Paulo Bueno Bruno / @paulobueno

07/27/2025 at 02:50AM

38
#275 - Benjamin Low / @iltgg

01/17/2025 at 03:28AM

38
#276 - Kamal Aghayev / @agayev169

03/01/2025 at 07:14PM

38
#277 - yochidros / @yochidros

06/28/2025 at 01:58AM

38
#278 - mageprist / @mageprist

12/28/2025 at 11:15AM

38
#279 - Emil Miler / @realcharmer

05/19/2026 at 03:46PM

39
#280 - Michael E. Gruen / @gruen

10/29/2025 at 02:03AM

39
#281 - naquoc17 / @Naquoc17

03/08/2026 at 05:49PM

40
#282 - Tachy / @Tachypsychique

12/26/2024 at 11:38AM

41
#283 - Christopher Arausa | Rathma / @wrathofrathma

12/30/2024 at 08:20AM

41
#284 - cykirk / @cykirk

04/18/2025 at 12:18PM

41
#285 - 5S-MIHALY-KOVACS / @5S-MIHALY-KOVACS

02/03/2026 at 01:31PM

41
#286 - Stefano Bertoli / @elkiwy

02/09/2026 at 10:32AM

41
#287 - Higashi Kouki / @G-Maty

05/02/2026 at 01:40PM

42
#288 - tedmundy-zahn / @tedmundy-zahn

06/08/2026 at 01:27PM

43
#289 - Etrama / @Etrama

02/24/2025 at 02:36AM

44
#290 - Nick Healy / @nickhealy

12/03/2024 at 08:48PM

44
#291 - beethovn1204 / @beethovn1204

12/27/2024 at 12:45PM

44
#292 - DaCoVI / @DaCoVI

07/24/2025 at 10:08AM

44
#293 - Martin Clarke / @clarkem

10/31/2025 at 06:51PM

45
#294 - PhinJ / @PhinJ

02/07/2025 at 07:59PM

46
#295 - Will Powers / @wpowers42

08/02/2025 at 01:57PM

47
#296 - Shumpei IINUMA / @iinm

01/02/2025 at 04:00AM

47
#297 - Igor Grkavac / @VanGrx

04/21/2025 at 10:32PM

47
#298 - Arash Sameni / @ArashSameni

08/20/2025 at 12:41AM

48
#299 - t4950812 / @t49508121543123

11/13/2025 at 09:20AM

48
#300 - dennis / @nagolove

12/16/2025 at 10:31PM