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

Replace markdown sections with numbering

Replace each section and subsection with their respective numbers

Start file
# Main Topics
## History
## Science
## Literature
## Mathematics
## Philosophy
## Psychology
# Additional Resources
# Community Guidelines
## Rules
## Moderation
## Code of Conduct
# Get Started
## Quick Tutorial
## FAQ
End file
1 Main Topics
1.1 History
1.2 Science
1.3 Literature
1.4 Mathematics
1.5 Philosophy
1.6 Psychology
2 Additional Resources
3 Community Guidelines
3.1 Rules
3.2 Moderation
3.3 Code of Conduct
4 Get Started
4.1 Quick Tutorial
4.2 FAQ

View Diff

1,15c1,15
< # Main Topics
< ## History
< ## Science
< ## Literature
< ## Mathematics
< ## Philosophy
< ## Psychology
< # Additional Resources
< # Community Guidelines
< ## Rules
< ## Moderation
< ## Code of Conduct
< # Get Started
< ## Quick Tutorial
< ## FAQ
---
> 1 Main Topics
> 1.1 History
> 1.2 Science
> 1.3 Literature
> 1.4 Mathematics
> 1.5 Philosophy
> 1.6 Psychology
> 2 Additional Resources
> 3 Community Guidelines
> 3.1 Rules
> 3.2 Moderation
> 3.3 Code of Conduct
> 4 Get Started
> 4.1 Quick Tutorial
> 4.2 FAQ

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 76 remaining solutions by signing in and submitting your own entry
#77 CannellC / @CannellC - Score: 983 - 10/25/24 @ 04:20
:g/##<BS><BS><BS><BS>^<BS>%s/^/\=line(.)\<BS>/<CR>:<Up><Left><Left><Left>'<Right>'<CR><fd-6b><CR><fd-6b>u<C-R><Up>u:<Up><Left><Left><Left><Left><Left><Left><Left><Left><Left><Left><Left><Left><Left>.<CR><fd-6b><fd-6b>kkkkkkkkkkkkkkjjjjjjjjjjkkkjjjjjjjj<fd-6b>uuuuuu<50-53>:let i=1 | %s/^./\=i/ | let i+=1<Esc>[201~`<fd-6b>u:<50-53>:let i=1 | %s/^./\=i/ | let i+=1<Esc>[201~<CR><Up><Up><Up><Up><Up><Up><Up><Up><Up><Up><Up><Up><Up><Up><Up><Down><Down><Down><Down><Down><Down><Down><Down><Down><Down><Down><Down><Down><Down><Down><Down><Down><Down><fd-6b>u:<Up><Left><Left><Left><Left><Left><Left><Left><Left><Left><Left><Left><Left><Left><Left><Left><Left><Left><Left><Left><Left><Left><Left><Left><Left><Left><Left><Left><Left><Left><Left><Left><BS><CR><fd-6b>u:<Up><Up><Up><CR><Up><Up><Up><Up><Up><Up><Up><Up><Down><Down><Down><Down><Down><Down><Up><Up><Up><Up><Up><Up><Up><Up><Up><Up><Up><Up><Up><Down><Down><Down><Down><Down><50-53>:<50-53>function! A(m)<Esc>[201~<CR>if a:m=='<BS>"#"<CR>let g:i=g:i+1<CR>let g:j=0<CR>return g:i<CR>else<CR>let g:j=g:j+1<CR>return g:i.'.'.g:j<CR>endif<CR>endfunction<CR>:<50-53>let i=0|g/^#\+/s//\=A(submatch(0))/<Esc>[201~<CR>Z::wq<CR><NL><Esc>[201~u:<50-53>:<50-53>function! A(m)<Esc>[201~<CR>if a:m=='<BS>"#"<CR>let g:i=g:i+1<CR>let g:j=0<CR>return g:i<CR>else<CR>let g:j=g:j+1<CR>return g:i.'.'.g:j<CR>endif<CR>endfunction<CR>:<50-53>let i=0|g/^#\+/s//\=A(submatch(0))/<Esc>[201~<CR>Z::wq<CR><NL><Esc>[201~<CR><fd-6b><fd-6b>kj:<BS><fd-6b>:<BS><fd-6b><fd-6b><fd-6b><fd-6b>k<C-V>kkk<fd-6b>lljjhhuiuuu<BS><BS><fd-6b>uuuuuujjjjVkkkkkjjjjVkkkkkjjkkk<C-V>7jkr18jkr2jr3j<C-V>2jr33jr4jr4jr4lk<C-V>jI.<fd-6b>l<C-V>j<C-A><C-V>jr<C-A>ur1jr210k3kh<C-V>jjjjjI.<fd-6b>lgvl<fd-6b><C-V>kkkkk<fd-6b>r1jr2jr2r2jkr3jr4jr5jr5r6jjjh<C-V>jjI.<fd-6b>lr1jr2jr3:w<CR>:q<CR>

0 comments


Created by: @pacuna

77 active golfers, 296 entries

Leaderboard (lowest score wins):
54
#31 - Chloe Brett / @chloebrett

11/10/2024 at 10:57AM

55
#32 - k1mosabe / @k1mosabe

12/02/2024 at 09:18PM

55
#33 - Trendt / @Trendt

05/08/2025 at 02:18PM

59
#34 - Melih Aktop / @mlhktp

11/01/2024 at 08:40PM

59
#35 - 林新 / @Lingshinx

11/14/2024 at 07:59AM

59
#36 - winter-loo / @winter-loo

05/28/2025 at 02:48PM

60
#37 - Seagull2004 / @Seagull2004

12/11/2025 at 02:41PM

62
#38 - Roman / @gkroman

11/19/2024 at 11:16AM

63
#39 - Kamal Aghayev / @agayev169

03/04/2025 at 06:03PM

64
#40 - Daniel Reszka / @danielres

02/16/2025 at 03:03PM

64
#41 - se / @sairutra

12/16/2025 at 08:47AM

65
#42 - ak@developer / @Ajay-056

10/25/2024 at 06:59AM

65
#43 - thedvd98 / @thedvd98

11/09/2024 at 03:27PM

69
#44 - beethovn1204 / @beethovn1204

12/27/2024 at 03:37PM

73
#45 - Meya / @meya-zhao

11/19/2024 at 11:34AM

73
#46 - Shan / @NanShanFish

11/29/2024 at 03:12PM

76
#47 - Ivan Prikaznov / @Prikaz98

11/01/2024 at 11:28PM

79
#48 - Doug Chan / @Coufu

10/27/2024 at 05:51PM

80
#49 - Frédéric Heulin / @talineo

12/28/2024 at 08:56PM

81
#50 - aaay-aaay / @aaay-aaay

10/25/2024 at 04:21PM

81
#51 - alekcey63 / @alekcey63

08/28/2025 at 12:42PM

82
#52 - Ban / @Rheriel

10/23/2024 at 07:24AM

84
#53 - ramacassis / @ramacassis

04/15/2025 at 11:02PM

90
#54 - editor3D / @editor3D

11/15/2024 at 11:46PM

91
#55 - tokaku / @hiroshi-tkk

11/19/2024 at 03:42AM

92
#56 - dennis / @nagolove

12/16/2025 at 10:35PM

94
#57 - Sjur B. / @Apostrophel

05/12/2025 at 10:07PM

97
#58 - Yushan Zhang / @ElephantZhang

11/19/2024 at 03:45AM

99
#59 - rybenmensch / @rybenmensch

04/17/2025 at 02:08PM

101
#60 - BasicLoco / @BasicLoco

10/28/2024 at 12:02PM