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):
25
#31 - yhetsugiHMC / @yhetsugi

02/25/2020 at 01:38AM

25
#32 - countime / @countime1

03/05/2020 at 04:25AM

25
#33 - Matthew / @Burfield12

03/06/2020 at 11:04AM

25
#34 - Wouter Horlings / @Achilleshiel

03/12/2020 at 11:33AM

25
#35 - Abhay Shanker Pathak / @AbhayShankerPa2

03/20/2020 at 04:28AM

25
#36 - nicosierra / @nicosierra84

03/22/2020 at 10:01PM

25
#37 - Ryan Burmeister-Morrison / @rburmorrison

04/10/2020 at 06:45PM

25
#38 - せいほう / @FICSQF

04/26/2020 at 10:56AM

25
#39 - Arthur Goodman / @ArthurGoodman3

04/29/2020 at 09:31PM

25
#40 - 大矢元海 / @008Genkai

07/08/2020 at 11:28AM

25
#41 - PK / @pkeugine

07/10/2020 at 06:13PM

25
#42 - Ángel Durán / @AngeeelD

07/22/2020 at 05:31PM

25
#43 - fenn.stefan@gmail.com / @FennStefan

08/25/2020 at 09:10PM

25
#44 - 刘宏亮 / @AkeyCoy

09/13/2020 at 12:47PM

25
#45 - hepebexè / @hepebexe

11/27/2020 at 07:01PM

25
#46 - roudens / @roudens2

12/05/2020 at 02:21PM

25
#47 - 영훈 / @odjfnrtm

12/28/2020 at 04:11AM

25
#48 - Nicolas Pagny / @NicolasPagny

01/08/2021 at 11:03AM

25
#49 - Youssef Magdy / @youssef_magdy29

05/01/2022 at 01:48AM

25
#50 - z00master / @z00master

08/17/2022 at 03:53PM

25
#51 - b1gz / @_b1gz

07/18/2023 at 08:58PM

25
#52 - moh ayaya / @AyayaMoh

08/30/2023 at 06:41PM

25
#53 - Luoyb / @Luoyb

10/27/2023 at 06:56AM

26
#54 - harmony_krieg / @harmony_krieg

10/20/2019 at 11:38AM

26
#55 - Melvin Cheung / @MelvinCheung

11/07/2019 at 01:58PM

26
#56 - Daniel Klepacki / @daniel_klepacki

11/11/2019 at 12:13PM

26
#57 - eshel / @EshelBM

11/16/2019 at 01:58PM

26
#58 - Hector Ricardo / @Hector_Ricardo3

11/29/2019 at 09:18PM

26
#59 - Lion de Bell / @CLGBamboo

12/01/2019 at 04:13PM

26
#60 - Adam Katz / @AdamKat01277576

12/10/2019 at 12:00PM