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):
34
#361 - John Otters / @OttersJohn

12/15/2019 at 05:28PM

34
#362 - None / @sh1chuang

12/30/2019 at 10:24AM

34
#363 - Rodrigo V. Lopes / @rodvlopes

03/27/2020 at 12:13AM

34
#364 - Patrick Sanan / @patricksanan

05/26/2020 at 12:51PM

34
#365 - Pat Haggerty / @HaggertyPat

09/02/2020 at 12:04PM

34
#366 - Ivan Kwong / @IvanKwong5

09/26/2020 at 05:00PM

34
#367 - Mickaël Menu / @mickaelmenu

10/25/2020 at 04:06PM

34
#368 - zapakh / @zapakh

01/21/2021 at 11:55PM

34
#369 - vim_maxter / @MaxterVim

07/02/2021 at 10:59AM

35
#370 - Ariel Miculas / @ArielMiculas

09/18/2019 at 11:41AM

35
#371 - Ole / @Ole_Lnkoje

09/18/2019 at 12:19PM

35
#372 - vicver09 / @vicver091

10/24/2019 at 08:43PM

35
#373 - rr / @rodgeur31

10/25/2019 at 09:49PM

35
#374 - Przemysław Michalak / @dambusio

11/25/2019 at 08:06PM

35
#375 - Eric Johnson / @dej79

12/03/2019 at 09:18AM

35
#376 - Brent Westbrook / @westbrook_brent

01/17/2020 at 10:10PM

35
#377 - volandkit / @volandkit

04/20/2020 at 05:01PM

35
#378 - dule2607 / @dule26071

04/29/2020 at 10:12PM

35
#379 - mstronam / @mstronam

10/02/2020 at 04:48AM

35
#380 - Arryue / @Arryue2

12/27/2020 at 07:55AM

35
#381 - Faizan Ansari / @faizan_157

01/31/2021 at 02:55PM

35
#382 - nickGPT / @nickandbro

08/24/2024 at 02:05PM

36
#383 - Abnermtj / @Abnerjr19

09/19/2019 at 04:34AM

36
#384 - Víctor López / @viticlick

09/20/2019 at 11:52AM

36
#385 - Mats Faugli / @matsfaugli

09/23/2019 at 12:00PM

36
#386 - Saher El-Neklawy / @saherneklawy

10/15/2019 at 01:00PM

36
#387 - yawryck / @yawryck

10/19/2019 at 03:49AM

36
#388 - Yāsky / @Yaasky

10/23/2019 at 01:58PM

36
#389 - David Accomazzo / @WordsofDefiance

11/14/2019 at 08:32PM

36
#390 - Richard / @Richard92158035

12/06/2019 at 08:34AM