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 9v0061699fee000000000213

Wikitext headings to markdown

Convert the wikitext headings to markdown.

Start file
= First, a heading =
== Section ==
=== Deeper ===

As you can see, the headings have equals signs like =
in all kinds of funny places.

== Dets ==
Why not = this here.

```
var = 4

def funcy(min=1, max=2):
  return (min + max) / 2
```

=== Also ===
Please note.  Thanks.
End file
# First, a heading
## Section
### Deeper

As you can see, the headings have equals signs like =
in all kinds of funny places.

## Dets
Why not = this here.

```
var = 4

def funcy(min=1, max=2):
  return (min + max) / 2
```

### Also
Please note.  Thanks.

View Diff

1,3c1,3
< = First, a heading =
< == Section ==
< === Deeper ===
---
> # First, a heading
> ## Section
> ### Deeper
8c8
< == Dets ==
---
> ## Dets
18c18
< === Also ===
---
> ### Also

Solutions by @GavinKoeng:

Unlock 12 remaining solutions by signing in and submitting your own entry
Created by: @vimgolfleo1

213 active golfers, 1029 entries

Solutions by @GavinKoeng:
20
#53 - Gavin / @GavinKoeng

01/01/2026 at 06:13AM

21
#>75 - Gavin / @GavinKoeng

01/01/2026 at 06:12AM

22
#>95 - Gavin / @GavinKoeng

01/01/2026 at 06:12AM

23
#>104 - Gavin / @GavinKoeng

01/01/2026 at 06:12AM

24
#>106 - Gavin / @GavinKoeng

01/01/2026 at 06:11AM

25
#>116 - Gavin / @GavinKoeng

01/01/2026 at 06:10AM

26
#>119 - Gavin / @GavinKoeng

01/01/2026 at 06:09AM

30
#>140 - Gavin / @GavinKoeng

01/01/2026 at 06:08AM

31
#>146 - Gavin / @GavinKoeng

01/01/2026 at 06:07AM

36
#>154 - Gavin / @GavinKoeng

01/01/2026 at 05:58AM

37
#>155 - Gavin / @GavinKoeng

01/01/2026 at 05:56AM

44
#>166 - Gavin / @GavinKoeng

01/01/2026 at 05:54AM