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

472 active golfers, 1918 entries

Leaderboard (lowest score wins):
36
#361 - Víctor López / @viticlick

09/20/2019 at 11:52AM

36
#362 - Mats Faugli / @matsfaugli

09/23/2019 at 12:00PM

36
#363 - Saher El-Neklawy / @saherneklawy

10/15/2019 at 01:00PM

36
#364 - yawryck / @yawryck

10/19/2019 at 03:49AM

36
#365 - Yasky / @Yaasky

10/23/2019 at 01:58PM

36
#366 - David Accomazzo / @WordsofDefiance

11/14/2019 at 08:32PM

36
#367 - Richard / @Richard92158035

12/06/2019 at 08:34AM

36
#368 - ace_of_art_club / @aceofartclub1

12/17/2019 at 05:13PM

36
#369 - beew71493 / @beew71493

01/10/2020 at 04:54PM

36
#370 - Axel / @Axel07930943

05/05/2020 at 06:34AM

36
#371 - Sebastian W. / @Sebasti91439242

09/01/2020 at 11:52PM

36
#372 - Robert Verst / @r_verst

09/02/2020 at 06:18AM

36
#373 - Ihor / @Ihor96382508

11/30/2020 at 06:38AM

36
#374 - Kha Nguyen / @__ngtrongkha

12/30/2020 at 07:35AM

37
#375 - warwickrulez / @warwickrulez

09/16/2019 at 10:32AM

37
#376 - Miki Tebeka / @tebeka

09/18/2019 at 04:50AM

37
#377 - louis / @LouisJordan

10/11/2019 at 07:52AM

37
#378 - Keith Klassen / @Collegekid491

11/02/2019 at 08:44PM

37
#379 - Harsha Laxman / @harshlax

11/18/2019 at 12:33AM

37
#380 - Coby Drexler / @CobyDrexler

01/08/2020 at 09:40PM

37
#381 - Vladimir / @pmmepatchcables

01/24/2020 at 02:19PM

37
#382 - Jason / @roosjason

04/07/2020 at 04:43AM

37
#383 - fedja golf / @fedjagolf

04/13/2020 at 01:33AM

37
#384 - Brennan Barker / @BrennanJBarker

07/04/2020 at 04:56PM

37
#385 - Filipe 💙 / @ABarroso

11/04/2020 at 10:19PM

37
#386 - Leander Hendrikx / @leanderhendrikx

11/22/2020 at 12:52PM

37
#387 - Bharath / @Bharath15952517

12/13/2020 at 08:08PM

37
#388 - Kapildev Neupane / @KapildevNeupane

01/01/2021 at 01:49PM

38
#389 - Ralph / @Ralph59017303

09/22/2019 at 08:11PM

38
#390 - xovadirij / @xovadirij

09/22/2019 at 08:20PM