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):
38
#421 - Daniel Amkær Sørensen / @AmkRensen

01/31/2020 at 01:57PM

38
#422 - Sander Vanhove / @SanderVhove

02/05/2020 at 01:03PM

38
#423 - vtls / @vtls16

03/07/2020 at 11:43AM

38
#424 - Fnord Everywhere / @FnordE

05/13/2020 at 09:18AM

38
#425 - Puj / @MrPuj

06/15/2020 at 02:13PM

38
#426 - Daniel Latzer / @tournqat

12/02/2020 at 05:25PM

38
#427 - yancy / @yancy_dong

09/17/2021 at 08:49AM

38
#428 - 으앙 / @meri2727

10/11/2023 at 12:35PM

39
#429 - Zviad Mgaloblishvili / @ZMgaloblishvili

10/10/2019 at 07:54PM

39
#430 - Jeremy Griffin / @jerrymcgriffo

10/12/2019 at 09:20PM

39
#431 - damien / @GreatTestyTest

11/10/2019 at 08:08PM

39
#432 - wsg / @wsg31986835

11/28/2019 at 04:33PM

39
#433 - afk / @Allan_FK

01/15/2020 at 12:56PM

39
#434 - Emil / @emilklindt

02/05/2020 at 12:12PM

39
#435 - Zachary Lee / @abstractlyZach

04/25/2020 at 05:00PM

39
#436 - Gaulish_Coder / @GaulishC

05/13/2020 at 09:37AM

39
#437 - Ludovic Schwartz / @ludovicschwartz

01/12/2024 at 02:12PM

39
#438 - jonas-grobe / @jonas-grobe

02/02/2024 at 08:35PM

39
#439 - svsreerama / @svsreerama

12/28/2024 at 08:10PM

40
#440 - Wojciech Jurkowski / @yierzy

09/22/2019 at 07:56PM

40
#441 - vlad / @vlad_chub

12/07/2019 at 06:48AM

40
#442 - Larry Adames / @LarryAdames

01/19/2020 at 01:11AM

40
#443 - Tom Aisthorpe / @tomaisthorpe

01/30/2020 at 03:40PM

40
#444 - Strages / @Strages2k

02/23/2020 at 02:22AM

40
#445 - Nicolas Daval / @ndaval

04/30/2020 at 12:15PM

40
#446 - dotvimrc / @dotvimrc1

05/16/2020 at 04:34PM

40
#447 - drGsus / @drGsus

07/25/2020 at 06:52AM

40
#448 - Thiago Becker / @beckert

08/06/2020 at 04:52PM

40
#449 - DayuanX / @DayuanX

10/05/2024 at 07:19AM

40
#450 - TomoProg / @TomoProg

12/11/2024 at 08:17AM