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 140 remaining solutions by signing in and submitting your own entry
#141 Sergey Valiev / @Valiev - Score: 124 - 02/19/25 @ 12:29
/{.\+}<CR>wdwGpuPuo<Esc>pO<Esc>ou<Esc>uu<C-O><C-O>nwdwuNNNNwdwGpuP<Esc>uo<Esc>pkkkkwkwdwGpuo<Esc>pNNwdwGo<Esc>pnwdwGpuO<Esc>dd<Esc>op<Esc>uuuudwGo<Esc>pkkkkA=<Esc>j.j.j.j.kkkkkdgg:wq<CR>

0 comments


Created by: @iantalks

141 active golfers, 583 entries

Leaderboard (lowest score wins):
30
#91 - Nick Rhodes / @rhode2nh

04/18/2025 at 01:00PM

31
#92 - Kleyton Nascimento / @kleytonstn

02/11/2025 at 06:39PM

32
#93 - Jack / @bytesandwich

03/19/2025 at 08:01PM

32
#94 - estoneman / @estoneman

04/23/2025 at 03:06AM

34
#95 - LayanJethwa / @LayanJethwa

12/18/2024 at 07:49AM

34
#96 - Thomas Hargreaves / @waingro

01/29/2025 at 07:36AM

34
#97 - Jan M Montalvo / @JanMichaelSE

04/02/2025 at 12:35AM

34
#98 - Ming / @x51ming

04/20/2025 at 05:08PM

35
#99 - Guillaume Seren / @guillaumeseren

12/06/2024 at 02:58PM

35
#100 - IroncladDev / @IroncladDev

01/02/2025 at 02:51PM

35
#101 - Ravi S Sinha / @ambidextrousTx

01/14/2025 at 05:19PM

35
#102 - gFffdhg6UX3ceYvTsLms / @gFffdhg6UX3ceYvTsLms

01/16/2025 at 02:45PM

35
#103 - Max Weidemann / @Max-Weidemann

02/21/2025 at 02:13PM

35
#104 - pufffin / @pufffin

03/26/2025 at 02:36PM

35
#105 - Theo Lincke / @lincketheo

04/08/2025 at 12:27AM

36
#106 - Darren Wang / @changexd

01/14/2025 at 07:50AM

36
#107 - Nicholas Kress / @kressnick25

04/21/2025 at 10:11AM

38
#108 - Benjamin Low / @iltgg

01/17/2025 at 03:28AM

38
#109 - Kamal Aghayev / @agayev169

03/01/2025 at 07:14PM

40
#110 - Tachy / @Tachypsychique

12/26/2024 at 11:38AM

41
#111 - Christopher Arausa | Rathma / @wrathofrathma

12/30/2024 at 08:20AM

41
#112 - cykirk / @cykirk

04/18/2025 at 12:18PM

43
#113 - Etrama / @Etrama

02/24/2025 at 02:36AM

44
#114 - Nick Healy / @nickhealy

12/03/2024 at 08:48PM

44
#115 - beethovn1204 / @beethovn1204

12/27/2024 at 12:45PM

45
#116 - PhinJ / @PhinJ

02/07/2025 at 07:59PM

47
#117 - Shumpei IINUMA / @iinm

01/02/2025 at 04:00AM

47
#118 - Igor Grkavac / @VanGrx

04/21/2025 at 10:32PM

49
#119 - Kash / @kash

12/31/2024 at 05:39AM

50
#120 - paperbenni / @paperbenni

04/27/2025 at 07:15PM