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

507 active golfers, 2059 entries

Leaderboard (lowest score wins):
36
#391 - ace_of_art_club / @aceofartclub1

12/17/2019 at 05:13PM

36
#392 - beew71493 / @beew71493

01/10/2020 at 04:54PM

36
#393 - Axel / @Axel07930943

05/05/2020 at 06:34AM

36
#394 - Sebastian W. / @Sebasti91439242

09/01/2020 at 11:52PM

36
#395 - Robert Verst / @r_verst

09/02/2020 at 06:18AM

36
#396 - Ihor / @Ihor96382508

11/30/2020 at 06:38AM

36
#397 - Kha Nguyen / @__ngtrongkha

12/30/2020 at 07:35AM

36
#398 - Иван / @wansmer

04/20/2023 at 10:30PM

36
#399 - naka / @nak38223985244

02/04/2024 at 12:20PM

36
#400 - guyontristan / @guyontristan

10/21/2024 at 12:27PM

37
#401 - warwickrulez / @warwickrulez

09/16/2019 at 10:32AM

37
#402 - Miki Tebeka / @tebeka

09/18/2019 at 04:50AM

37
#403 - louis / @LouisJordan

10/11/2019 at 07:52AM

37
#404 - Keith Klassen / @Collegekid491

11/02/2019 at 08:44PM

37
#405 - Harsha Laxman / @harshlax

11/18/2019 at 12:33AM

37
#406 - Coby Drexler / @CobyDrexler

01/08/2020 at 09:40PM

37
#407 - Vladimir / @pmmepatchcables

01/24/2020 at 02:19PM

37
#408 - Jason / @roosjason

04/07/2020 at 04:43AM

37
#409 - fedja golf / @fedjagolf

04/13/2020 at 01:33AM

37
#410 - Brennan Barker / @BrennanJBarker

07/04/2020 at 04:56PM

37
#411 - Filipe 💙 / @ABarroso

11/04/2020 at 10:19PM

37
#412 - Leander Hendrikx / @leanderhendrikx

11/22/2020 at 12:52PM

37
#413 - Bharath / @Bharath15952517

12/13/2020 at 08:08PM

37
#414 - Kapildev Neupane / @KapildevNeupane

01/01/2021 at 01:49PM

37
#415 - Vincent W / @ZoloowW

08/31/2022 at 11:05PM

38
#416 - Ralph / @Ralph59017303

09/22/2019 at 08:11PM

38
#417 - xovadirij / @xovadirij

09/22/2019 at 08:20PM

38
#418 - cínicoycansino / @pgv958

09/30/2019 at 02:10PM

38
#419 - xjkhst / @xjkhst

10/19/2019 at 11:36AM

38
#420 - およねさん / @yuukikun31

12/05/2019 at 01:11AM