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 55b35f751b16ea1bc100a0e2

Maze path

Follow the given motions and mark your path with Xs. Attention: This maze is quite big (20x20), please set your terminal size to at least 82.

Start file
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa8   8aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
8               8   8                       8       8                   8       8
8   8aaaaaaa8   8   8   8aaa8   8aaaaaaa8   8   8   8aaa8   8   8aaa8   8aaa8   8
8   8       8   8       8       8       8       8           8       8           8
8   8aaa8   8   8aaaaaaa8   8aaa8   8   8aaaaaaa8   8aaaaaaaaaaa8   8   8aaaaaaa8
8       8   8   8                   8   8           8               8   8       8
8aaa8   8   8   8   8aaa8   8aaaaaaa8   8aaa8   8aaaaaaaaaaaaaaaaaaaaaaa8   8   8
8   8   8   8       8   8       8   8       8                               8   8
8   8   8   8aaaaaaa8   8aaa8   8   8aaa8   8aaaaaaaaaaa8   8aaaaaaaaaaaaaaa8   8
8       8       8       8           8       8               8               8   8
8   8aaaaaaa8   8   8aaaaaaa8   8aaa8   8aaa8   8aaaaaaaaaaaaaaaaaaaaaaa8   8   8
8   8       8   8   8               8   8   8   8               8       8       8
8   8   8   8   8   8aaaaaaaaaaaaaaa8   8   8   8   8aaaaaaa8   8   8   8aaaaaaa8
8   8   8   8           8   8       8   8   8   8           8       8           8
8   8   8   8aaaaaaa8   8   8   8   8   8   8   8aaaaaaaaaaaaaaa8   8aaaaaaa8   8
8   8   8                   8   8       8   8                       8           8
8   8aaaaaaaaaaa8   8   8aaa8   8aaaaaaa8   8aaaaaaa8   8aaaaaaaaaaa8   8aaaaaaa8
8               8   8       8   8                       8               8       8
8aaa8   8aaa8   8   8aaaaaaa8   8aaaaaaaaaaaaaaaaaaaaaaa8   8   8aaaaaaa8   8   8
8   8       8       8       8               8               8   8       8   8   8
8   8   8   8aaaaaaa8   8   8aaaaaaaaaaa8   8   8aaaaaaaaaaa8   8   8   8   8   8
8       8               8   8           8   8       8       8   8   8       8   8
8   8aaaaaaaaaaaaaaaaaaa8   8   8aaaaaaa8   8   8aaa8   8   8   8   8aaa8   8   8
8   8               8   8   8       8       8   8       8       8       8   8   8
8aaa8   8aaaaaaaaaaa8   8aaaaaaa8   8   8aaa8   8   8aaaaaaaaaaaaaaaaaaa8   8   8
8       8           8               8   8       8   8                       8   8
8   8   8   8aaa8   8aaa8   8aaa8   8   8   8aaa8   8   8aaaaaaaaaaaaaaaaaaa8   8
8   8   8       8           8       8   8   8       8       8       8       8   8
8   8   8aaa8   8aaaaaaaaaaaaaaa8   8   8   8   8   8aaa8   8   8aaa8   8   8   8
8   8           8       8           8   8   8   8       8       8       8   8   8
8   8aaaaaaaaaaaaaaa8   8aaa8   8aaa8   8   8aaaaaaa8   8aaaaaaa8   8aaa8   8   8
8       8       8       8       8   8   8   8           8               8   8   8
8   8aaa8   8   8   8aaa8   8aaa8   8   8   8   8aaaaaaa8   8aaaaaaaaaaa8   8   8
8   8       8   8           8       8   8   8               8       8           8
8   8   8aaa8   8aaa8   8aaa8   8aaa8   8aaaaaaaaaaaaaaaaaaa8   8   8   8aaaaaaa8
8       8       8       8   8       8                           8   8           8
8aaaaaaa8   8aaa8   8aaa8   8aaa8   8aaaaaaaaaaaaaaaaaaaaaaaaaaa8   8aaaaaaaaaaa8
8   8       8       8           8       8       8                   8           8
8   8   8aaa8   8   8   8aaa8   8aaa8   8   8   8   8aaa8   8aaaaaaa8   8aaa8   8
8       8       8       8               8   8       8                   8       8
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa8  
8aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa

Your path:
1j8h2j4h2j8l2k4l4j4l2j4h6j4h2k4h6j12l4j4h12j24l2k4l4j16h2j4h2k4h3j

Your help (or not):
s
/\v(\d)(\D+)/\=repeat(submatch(2),str2nr(submatch(1)))/g
s
/./&rX/g
:s/\D/& /g
End file
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa8 X 8aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
8               8   8         XXXXXXXXX     8       8                   8       8
8   8aaaaaaa8   8   8   8aaa8 X 8aaaaaaa8   8   8   8aaa8   8   8aaa8   8aaa8   8
8   8       8   8       8 XXXXX 8 XXXXX 8       8           8       8           8
8   8aaa8   8   8aaaaaaa8 X 8aaa8 X 8 X 8aaaaaaa8   8aaaaaaaaaaa8   8   8aaaaaaa8
8       8   8   8         XXXXXXXXX 8 X 8           8               8   8       8
8aaa8   8   8   8   8aaa8   8aaaaaaa8 X 8aaa8   8aaaaaaaaaaaaaaaaaaaaaaa8   8   8
8   8   8   8       8   8       8   8 XXXXX 8                               8   8
8   8   8   8aaaaaaa8   8aaa8   8   8aaa8 X 8aaaaaaaaaaa8   8aaaaaaaaaaaaaaa8   8
8       8       8       8           8 XXXXX 8               8               8   8
8   8aaaaaaa8   8   8aaaaaaa8   8aaa8 X 8aaa8   8aaaaaaaaaaaaaaaaaaaaaaa8   8   8
8   8       8   8   8               8 X 8   8   8               8       8       8
8   8   8   8   8   8aaaaaaaaaaaaaaa8 X 8   8   8   8aaaaaaa8   8   8   8aaaaaaa8
8   8   8   8           8   8 XXXXX 8 X 8   8   8           8       8           8
8   8   8   8aaaaaaa8   8   8 X 8 X 8 X 8   8   8aaaaaaaaaaaaaaa8   8aaaaaaa8   8
8   8   8                   8 X 8 XXXXX 8   8                       8           8
8   8aaaaaaaaaaa8   8   8aaa8 X 8aaaaaaa8   8aaaaaaa8   8aaaaaaaaaaa8   8aaaaaaa8
8               8   8       8 X 8                       8               8       8
8aaa8   8aaa8   8   8aaaaaaa8 X 8aaaaaaaaaaaaaaaaaaaaaaa8   8   8aaaaaaa8   8   8
8   8       8       8       8 XXXXXXXXXXXXX 8               8   8       8   8   8
8   8   8   8aaaaaaa8   8   8aaaaaaaaaaa8 X 8   8aaaaaaaaaaa8   8   8   8   8   8
8       8               8   8           8 X 8       8       8   8   8       8   8
8   8aaaaaaaaaaaaaaaaaaa8   8   8aaaaaaa8 X 8   8aaa8   8   8   8   8aaa8   8   8
8   8               8   8   8       8 XXXXX 8   8       8       8       8   8   8
8aaa8   8aaaaaaaaaaa8   8aaaaaaa8   8 X 8aaa8   8   8aaaaaaaaaaaaaaaaaaa8   8   8
8       8           8               8 X 8       8   8                       8   8
8   8   8   8aaa8   8aaa8   8aaa8   8 X 8   8aaa8   8   8aaaaaaaaaaaaaaaaaaa8   8
8   8   8       8           8       8 X 8   8       8       8       8       8   8
8   8   8aaa8   8aaaaaaaaaaaaaaa8   8 X 8   8   8   8aaa8   8   8aaa8   8   8   8
8   8           8       8           8 X 8   8   8       8       8       8   8   8
8   8aaaaaaaaaaaaaaa8   8aaa8   8aaa8 X 8   8aaaaaaa8   8aaaaaaa8   8aaa8   8   8
8       8       8       8       8   8 X 8   8           8               8   8   8
8   8aaa8   8   8   8aaa8   8aaa8   8 X 8   8   8aaaaaaa8   8aaaaaaaaaaa8   8   8
8   8       8   8           8       8 X 8   8               8 XXXXX 8           8
8   8   8aaa8   8aaa8   8aaa8   8aaa8 X 8aaaaaaaaaaaaaaaaaaa8 X 8 X 8   8aaaaaaa8
8       8       8       8   8       8 XXXXXXXXXXXXXXXXXXXXXXXXX 8 X 8           8
8aaaaaaa8   8aaa8   8aaa8   8aaa8   8aaaaaaaaaaaaaaaaaaaaaaaaaaa8 X 8aaaaaaaaaaa8
8   8       8       8           8       8 XXXXX 8 XXXXXXXXXXXXXXXXX 8           8
8   8   8aaa8   8   8   8aaa8   8aaa8   8 X 8 X 8 X 8aaa8   8aaaaaaa8   8aaa8   8
8       8       8       8               8 X 8 XXXXX 8                   8       8
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa8 X
8aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa

Your path:
1j8h2j4h2j8l2k4l4j4l2j4h6j4h2k4h6j12l4j4h12j24l2k4l4j16h2j4h2k4h3j

Your help (or not):
s
/\v(\d)(\D+)/\=repeat(submatch(2),str2nr(submatch(1)))/g
s
/./&rX/g
:s/\D/& /g

View Diff

1,41c1,41
< aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa8   8aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
< 8               8   8                       8       8                   8       8
< 8   8aaaaaaa8   8   8   8aaa8   8aaaaaaa8   8   8   8aaa8   8   8aaa8   8aaa8   8
< 8   8       8   8       8       8       8       8           8       8           8
< 8   8aaa8   8   8aaaaaaa8   8aaa8   8   8aaaaaaa8   8aaaaaaaaaaa8   8   8aaaaaaa8
< 8       8   8   8                   8   8           8               8   8       8
< 8aaa8   8   8   8   8aaa8   8aaaaaaa8   8aaa8   8aaaaaaaaaaaaaaaaaaaaaaa8   8   8
< 8   8   8   8       8   8       8   8       8                               8   8
< 8   8   8   8aaaaaaa8   8aaa8   8   8aaa8   8aaaaaaaaaaa8   8aaaaaaaaaaaaaaa8   8
< 8       8       8       8           8       8               8               8   8
< 8   8aaaaaaa8   8   8aaaaaaa8   8aaa8   8aaa8   8aaaaaaaaaaaaaaaaaaaaaaa8   8   8
< 8   8       8   8   8               8   8   8   8               8       8       8
< 8   8   8   8   8   8aaaaaaaaaaaaaaa8   8   8   8   8aaaaaaa8   8   8   8aaaaaaa8
< 8   8   8   8           8   8       8   8   8   8           8       8           8
< 8   8   8   8aaaaaaa8   8   8   8   8   8   8   8aaaaaaaaaaaaaaa8   8aaaaaaa8   8
< 8   8   8                   8   8       8   8                       8           8
< 8   8aaaaaaaaaaa8   8   8aaa8   8aaaaaaa8   8aaaaaaa8   8aaaaaaaaaaa8   8aaaaaaa8
< 8               8   8       8   8                       8               8       8
< 8aaa8   8aaa8   8   8aaaaaaa8   8aaaaaaaaaaaaaaaaaaaaaaa8   8   8aaaaaaa8   8   8
< 8   8       8       8       8               8               8   8       8   8   8
< 8   8   8   8aaaaaaa8   8   8aaaaaaaaaaa8   8   8aaaaaaaaaaa8   8   8   8   8   8
< 8       8               8   8           8   8       8       8   8   8       8   8
< 8   8aaaaaaaaaaaaaaaaaaa8   8   8aaaaaaa8   8   8aaa8   8   8   8   8aaa8   8   8
< 8   8               8   8   8       8       8   8       8       8       8   8   8
< 8aaa8   8aaaaaaaaaaa8   8aaaaaaa8   8   8aaa8   8   8aaaaaaaaaaaaaaaaaaa8   8   8
< 8       8           8               8   8       8   8                       8   8
< 8   8   8   8aaa8   8aaa8   8aaa8   8   8   8aaa8   8   8aaaaaaaaaaaaaaaaaaa8   8
< 8   8   8       8           8       8   8   8       8       8       8       8   8
< 8   8   8aaa8   8aaaaaaaaaaaaaaa8   8   8   8   8   8aaa8   8   8aaa8   8   8   8
< 8   8           8       8           8   8   8   8       8       8       8   8   8
< 8   8aaaaaaaaaaaaaaa8   8aaa8   8aaa8   8   8aaaaaaa8   8aaaaaaa8   8aaa8   8   8
< 8       8       8       8       8   8   8   8           8               8   8   8
< 8   8aaa8   8   8   8aaa8   8aaa8   8   8   8   8aaaaaaa8   8aaaaaaaaaaa8   8   8
< 8   8       8   8           8       8   8   8               8       8           8
< 8   8   8aaa8   8aaa8   8aaa8   8aaa8   8aaaaaaaaaaaaaaaaaaa8   8   8   8aaaaaaa8
< 8       8       8       8   8       8                           8   8           8
< 8aaaaaaa8   8aaa8   8aaa8   8aaa8   8aaaaaaaaaaaaaaaaaaaaaaaaaaa8   8aaaaaaaaaaa8
< 8   8       8       8           8       8       8                   8           8
< 8   8   8aaa8   8   8   8aaa8   8aaa8   8   8   8   8aaa8   8aaaaaaa8   8aaa8   8
< 8       8       8       8               8   8       8                   8       8
< aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa8   8aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
---
> aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa8 X 8aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
> 8               8   8         XXXXXXXXX     8       8                   8       8
> 8   8aaaaaaa8   8   8   8aaa8 X 8aaaaaaa8   8   8   8aaa8   8   8aaa8   8aaa8   8
> 8   8       8   8       8 XXXXX 8 XXXXX 8       8           8       8           8
> 8   8aaa8   8   8aaaaaaa8 X 8aaa8 X 8 X 8aaaaaaa8   8aaaaaaaaaaa8   8   8aaaaaaa8
> 8       8   8   8         XXXXXXXXX 8 X 8           8               8   8       8
> 8aaa8   8   8   8   8aaa8   8aaaaaaa8 X 8aaa8   8aaaaaaaaaaaaaaaaaaaaaaa8   8   8
> 8   8   8   8       8   8       8   8 XXXXX 8                               8   8
> 8   8   8   8aaaaaaa8   8aaa8   8   8aaa8 X 8aaaaaaaaaaa8   8aaaaaaaaaaaaaaa8   8
> 8       8       8       8           8 XXXXX 8               8               8   8
> 8   8aaaaaaa8   8   8aaaaaaa8   8aaa8 X 8aaa8   8aaaaaaaaaaaaaaaaaaaaaaa8   8   8
> 8   8       8   8   8               8 X 8   8   8               8       8       8
> 8   8   8   8   8   8aaaaaaaaaaaaaaa8 X 8   8   8   8aaaaaaa8   8   8   8aaaaaaa8
> 8   8   8   8           8   8 XXXXX 8 X 8   8   8           8       8           8
> 8   8   8   8aaaaaaa8   8   8 X 8 X 8 X 8   8   8aaaaaaaaaaaaaaa8   8aaaaaaa8   8
> 8   8   8                   8 X 8 XXXXX 8   8                       8           8
> 8   8aaaaaaaaaaa8   8   8aaa8 X 8aaaaaaa8   8aaaaaaa8   8aaaaaaaaaaa8   8aaaaaaa8
> 8               8   8       8 X 8                       8               8       8
> 8aaa8   8aaa8   8   8aaaaaaa8 X 8aaaaaaaaaaaaaaaaaaaaaaa8   8   8aaaaaaa8   8   8
> 8   8       8       8       8 XXXXXXXXXXXXX 8               8   8       8   8   8
> 8   8   8   8aaaaaaa8   8   8aaaaaaaaaaa8 X 8   8aaaaaaaaaaa8   8   8   8   8   8
> 8       8               8   8           8 X 8       8       8   8   8       8   8
> 8   8aaaaaaaaaaaaaaaaaaa8   8   8aaaaaaa8 X 8   8aaa8   8   8   8   8aaa8   8   8
> 8   8               8   8   8       8 XXXXX 8   8       8       8       8   8   8
> 8aaa8   8aaaaaaaaaaa8   8aaaaaaa8   8 X 8aaa8   8   8aaaaaaaaaaaaaaaaaaa8   8   8
> 8       8           8               8 X 8       8   8                       8   8
> 8   8   8   8aaa8   8aaa8   8aaa8   8 X 8   8aaa8   8   8aaaaaaaaaaaaaaaaaaa8   8
> 8   8   8       8           8       8 X 8   8       8       8       8       8   8
> 8   8   8aaa8   8aaaaaaaaaaaaaaa8   8 X 8   8   8   8aaa8   8   8aaa8   8   8   8
> 8   8           8       8           8 X 8   8   8       8       8       8   8   8
> 8   8aaaaaaaaaaaaaaa8   8aaa8   8aaa8 X 8   8aaaaaaa8   8aaaaaaa8   8aaa8   8   8
> 8       8       8       8       8   8 X 8   8           8               8   8   8
> 8   8aaa8   8   8   8aaa8   8aaa8   8 X 8   8   8aaaaaaa8   8aaaaaaaaaaa8   8   8
> 8   8       8   8           8       8 X 8   8               8 XXXXX 8           8
> 8   8   8aaa8   8aaa8   8aaa8   8aaa8 X 8aaaaaaaaaaaaaaaaaaa8 X 8 X 8   8aaaaaaa8
> 8       8       8       8   8       8 XXXXXXXXXXXXXXXXXXXXXXXXX 8 X 8           8
> 8aaaaaaa8   8aaa8   8aaa8   8aaa8   8aaaaaaaaaaaaaaaaaaaaaaaaaaa8 X 8aaaaaaaaaaa8
> 8   8       8       8           8       8 XXXXX 8 XXXXXXXXXXXXXXXXX 8           8
> 8   8   8aaa8   8   8   8aaa8   8aaa8   8 X 8 X 8 X 8aaa8   8aaaaaaa8   8aaa8   8
> 8       8       8       8               8 X 8 XXXXX 8                   8       8
> aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa8 X 8aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa

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 16 remaining solutions by signing in and submitting your own entry
#17 Ben Altieri / @SupahBen - Score: 271 - 06/08/17 @ 06:54
f l<C-V>16jk:s/ /X/<CR><Esc>uf l<C-V>15j:<BS><BS><BS><BS><BS>%s/\%V /X/g<CR>g3gg3gg32lkhh<C-V>jjjj:<Up><Down><Down><Up><Up><Up><Up><Down>s/%<BS>\%V /X/<CR>34l<C-V>2k:<Up><CR>30l4h<C-V>2krX8j16l2k.u2k.8h8j2k.4h<C-V>6j:<Up><CR>36l8l2h<C-V>4jrX4h5jk<C-V>12jrX12j2k16l8l<C-V>2jrX4l<C-V>4jrX16h5jk<C-V>2jrX4h.4h<C-V>3jrX:%s/\vX *X/\=substitute(submr<BS>atch(0),' ','X','g')/g<CR>/X<CR>6gg/X lh<BS><BS><CR>l<C-V>llrX:wq<CR>

0 comments


Created by: @mcr05

17 active golfers, 48 entries

Leaderboard (lowest score wins):
25
#1 - Urtica dioica / @udioica

07/25/2015 at 02:58PM

25
#2 - Petro Тrouq / @zulolosi

07/26/2015 at 03:48PM

25
#3 - John Braxler / @braxler

08/04/2015 at 01:49PM

25
#4 - Peppa Pig / @PeppaPigSg

07/21/2024 at 09:37AM

26
#5 - Mutter Mumble / @muttermumble

07/25/2015 at 03:54PM

26
#6 - Joaquin Coronel / @cantstoptheguac

02/10/2017 at 09:17PM

26
#7 - Quark / @PuzzleQuark

03/22/2020 at 05:45PM

26
#8 - nickGPT / @nickandbro

08/28/2024 at 03:58AM

27
#9 - jinx balotchnik / @balotchnik

07/23/2023 at 03:37AM

40
#10 - Matt / @mcr05

07/25/2015 at 03:11PM

47
#11 - Anaritus / @Anaritus

02/26/2024 at 08:23PM

62
#12 - majo senf / @majo_senf

07/16/2019 at 11:12AM

64
#13 - Lifepillar / @lifepillar

07/26/2015 at 12:53PM

91
#14 - martin tourneboeuf / @martintournebo1

06/20/2018 at 09:27PM

117
#15 - David Willming / @wdialvmeo

07/27/2015 at 03:41AM

124
#16 - Reef / @Sir_Reef

07/26/2015 at 12:31AM

271
#17 - Ben Altieri / @SupahBen

06/08/2017 at 06:54AM