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 196 remaining solutions by signing in and submitting your own entry
#197 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

197 active golfers, 884 entries

Leaderboard (lowest score wins):
28
#121 - Th0ught09 / @Th0ught09

04/24/2025 at 03:56PM

28
#122 - Jaxson Pahukula / @jaxsonp

04/26/2025 at 05:08AM

28
#123 - Andrey Rakhubovsky / @omnster

05/02/2025 at 01:29PM

28
#124 - Kristof Bruyninckx / @KristofBCoding

05/04/2025 at 09:48PM

28
#125 - GautR / @gautrr

05/14/2025 at 07:59PM

28
#126 - Leonardo Dipilato / @LeonardoDipilato

06/03/2025 at 03:23PM

28
#127 - asby / @asby

06/17/2025 at 11:39AM

29
#128 - Daniel Cook / @1dancook

12/16/2024 at 05:58AM

29
#129 - Caleb McIrvin / @cmmcirvin

01/16/2025 at 05:20PM

29
#130 - Kenshiro Ueda / @weapom923

02/18/2025 at 08:59AM

29
#131 - HADIOUCHE Azouaou / @Thoro-las

03/28/2025 at 10:59PM

29
#132 - Gigo / @GiggioG

04/02/2025 at 09:00PM

29
#133 - Austin / @austinlongmn

04/24/2025 at 01:13AM

29
#134 - ta / @bmountain

04/27/2025 at 05:52PM

29
#135 - Ethan Zhang / @edzdez

05/13/2025 at 07:37PM

30
#136 - Tedis Agolli / @TedisAgolli

02/07/2025 at 06:04PM

30
#137 - Nick Rhodes / @rhode2nh

04/18/2025 at 01:00PM

31
#138 - Kleyton Nascimento / @kleytonstn

02/11/2025 at 06:39PM

31
#139 - greg-asc / @greg-asc

06/06/2025 at 10:49PM

32
#140 - Jack / @bytesandwich

03/19/2025 at 08:01PM

32
#141 - estoneman / @estoneman

04/23/2025 at 03:06AM

32
#142 - Ultragamer135 / @Ultragamer135

05/08/2025 at 02:52AM

33
#143 - Gary Nguyen / @Kasaract

05/09/2025 at 08:01PM

33
#144 - Michael Lodispoto / @MikeLodispoto

05/13/2025 at 01:04AM

34
#145 - LayanJethwa / @LayanJethwa

12/18/2024 at 07:49AM

34
#146 - Thomas Hargreaves / @waingro

01/29/2025 at 07:36AM

34
#147 - Jan M Montalvo / @JanMichaelSE

04/02/2025 at 12:35AM

34
#148 - Ming / @x51ming

04/20/2025 at 05:08PM

35
#149 - Guillaume Seren / @guillaumeseren

12/06/2024 at 02:58PM

35
#150 - IroncladDev / @IroncladDev

01/02/2025 at 02:51PM