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 5d7f565deac0df000cfc2154

Line under headers

Put a line under each header, and remove the other markdown formatting.

Start file
## Headers

## To

## Underline
End file
Headers
-------

Are
---

Underlined
----------

View Diff

1c1,2
< ## Headers
---
> Headers
> -------
3c4,5
< ## To
---
> Are
> ---
5c7,8
< ## Underline
---
> Underlined
> ----------

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 478 remaining solutions by signing in and submitting your own entry
#479 Pavlo Hadzheha / @PHadzheha - Score: 133 - 02/19/21 @ 10:13
:<BS>?<BS>kjjwcwAre<Esc>kkjjjjAd<Esc>:%s/\(##\s\)\(.\+\)/\=submatch(2) . "\r" . rea<BS>peat(submatch(2)<C-Left><C-Left><C-Right><Right><Right><Right><Right><Right><Right><Right><Right><Right><Left>str_<BS><BS><BS><BS>'-', strchars*<BS>(<Right><C-Right>))/<CR>:wq<CR>

0 comments


Created by: @rax0m

479 active golfers, 1941 entries

Leaderboard (lowest score wins):
24
#1 - Filipe Brandenburger / @filbranden

08/07/2020 at 11:27PM

24
#2 - Łukasz Kadłubowski / @LAKadlubowski

08/21/2020 at 07:58AM

24
#3 - speisz / @speiszc

09/04/2020 at 08:57AM

24
#4 - dezhonger / @dezhonger

09/06/2020 at 05:00PM

24
#5 - John Braxler / @braxler

09/15/2020 at 04:21PM

24
#6 - lamtt77 / @lamtt77

10/09/2020 at 03:03AM

24
#7 - Dmitry Antonyuk / @dm_antonyuk

10/21/2020 at 10:28PM

24
#8 - chocolate / @chocola81394123

10/23/2020 at 09:01AM

24
#9 - David Kutschke / @D4KU_

11/15/2020 at 01:19PM

24
#10 - Jung Yeon Park / @park_jungy

01/01/2021 at 07:25PM

24
#11 - A A A / @37fatos

01/09/2021 at 01:37AM

24
#12 - OtterPy / @OtterPy

01/27/2021 at 10:37AM

24
#13 - Roman Privalov / @RomanPrivalov

09/21/2021 at 04:14PM

24
#14 - Flimsy Giraffe / @flimsy_giraffe

12/01/2021 at 03:26AM

24
#15 - Janzen / @__Coos

10/06/2022 at 04:54PM

24
#16 - Selvaganapathy P / @canabady

04/24/2023 at 06:25AM

25
#17 - Maksim / @its_terra

12/30/2019 at 11:04PM

25
#18 - Saki Gw / @Sakigw

01/02/2020 at 05:04PM

25
#19 - Tefe / @tefetic

01/02/2020 at 09:32PM

25
#20 - Tyler Culdler / @culdler

01/08/2020 at 06:24AM

25
#21 - lev / @nouvelliu

01/10/2020 at 03:30AM

25
#22 - Stefan Bjarnason / @stefanttb

01/12/2020 at 12:11AM

25
#23 - Ard / @kokojarjar

02/18/2020 at 12:42PM

25
#24 - howanto / @ho_wan_

02/19/2020 at 11:35AM

25
#25 - yhetsugiHMC / @yhetsugi

02/25/2020 at 01:38AM

25
#26 - countime / @countime1

03/05/2020 at 04:25AM

25
#27 - Matthew / @Burfield12

03/06/2020 at 11:04AM

25
#28 - Wouter Horlings / @Achilleshiel

03/12/2020 at 11:33AM

25
#29 - Abhay Shanker Pathak / @AbhayShankerPa2

03/20/2020 at 04:28AM

25
#30 - nicosierra / @nicosierra84

03/22/2020 at 10:01PM