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

Transpose a python matrix

Rotate the matrix in 90 degrees.

Start file
((1, 2, 3, 4),
 (5, 6, 7, 8),
 (9, 10, 11, 12),
 (13, 14, 15, 16))
End file
((1, 5, 9, 13),
 (2, 6, 10, 14),
 (3, 7, 11, 15),
 (4, 8, 12, 16))

View Diff

1,4c1,4
< ((1, 2, 3, 4),
<  (5, 6, 7, 8),
<  (9, 10, 11, 12),
<  (13, 14, 15, 16))
---
> ((1, 5, 9, 13),
>  (2, 6, 10, 14),
>  (3, 7, 11, 15),
>  (4, 8, 12, 16))

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 115 remaining solutions by signing in and submitting your own entry
#116 Lucas Hourquin / @LHourquin - Score: 316 - 06/24/21 @ 01:29
kvll<Esc><Esc>hvllllllllllll<Esc>i<Left><Left><Down><Left><Left><Left><Left><Left><Left><Left><Left><BS>2<Down><BS>3<Down><Right><BS><BS>4<CR>(5<Up>,<Up><Up><Up><Right><BS><Right><BS> 6<Down><BS>7<Down><Right><BS><BS>8<Down><Right><Right>9<Left> <Down><Right><Right><BS>0<Up>,<Up><Up><Up><Right><Right><BS>11<Down><Left><BS>12<Down><BS>3<Down> 14<Down><Left><BS><Right><Right><Up>,<Up><Up><Up><Right><Right><BS>16<Left><Down><BS>17<Down><BS><BS>18<Down>19<Down><Right><BS><BS>3<BS>20<Right><Right><BS><BS><BS><BS><BS><BS><BS><BS><BS><BS><BS><BS><BS><BS><BS><BS><BS><BS><BS><BS><BS><BS><BS><BS><BS><BS><BS><BS><BS><BS><BS><BS><BS><BS><BS><BS><BS><BS><BS><BS><BS><BS><BS><BS><BS><BS><BS><BS><BS><BS><BS><BS><BS><BS><BS><BS><BS><BS><BS><BS><BS><BS><BS><BS><BS><BS><BS><BS><BS><BS><BS><BS><BS><BS><BS><BS><BS> 5, 9, 14),<CR>(<Left> <Right>1<BS>2, 6, 10, 14<Up><Left><BS>3<Down><Right>),<CR>(3<CR>'<BS>(4<Up><Up><Up><Down><Down>, 7<Down>n<BS>, 8,<Up>, 11<Down> 21<BS><BS>12,<Up>, 13<Down><Up><BS>5),<CR><BS><BS><Down> 16))<Esc>:w<CR>:wq<CR>

0 comments


#117 Adam Ma / @6i9Bz4gMtVSByjj - Score: 316 - 08/08/21 @ 11:50
/sg<BS><BS><BS>:s<BS>%s//d<BS><BS>\d+<BS>[]<Left>1,2<BS><BS><BS><BS><Right><BS>{}<Left>1,2<BS><BS><BS><BS><Right><BS>+<BS>*<BS>/1/g<CR>/<BS>:%s/\d\1<BS><BS>/1/g<Left><Left><Left><Left><Left><Left>(<BS>[<Right><Right>]+<Left><Left><Left><Left><BS>(<Right><Right><Right><BS>)<Left><Left><Left><Left>\<Right><Right><Right>\<Right><BS><BS><Left><Left><BS><BS><Right><Right><Right><BS>*<BS>+<CR><Up>:s<BS>%s/\d+/1/g<Left><Left><Left><Left><Left>\<CR>jjkkkjlkjqaa<Esc><C-A>q@ajkkjr1jkkqaj<C-A>q2@ajjk<C-A>j<C-A><C-A>kkk:let i=1<CR>:g/^/ s//\i=.<BS> . ' '/ |let i = i<BS><BS><BS><BS>=i+1<CR>ukjljkkkllllr5lllr9lllr1a3<Esc>ji4<Esc>ji5<Esc>ji6hh<BS><BS>``<BS><BS><Esc>hhhha2<Esc>jki1j<BS>`<BS><Esc>ki0<Esc>hhhhr6jr7jr8<Esc>:wq<CR>

0 comments


Created by: @Kyle98675198

117 active golfers, 684 entries

Leaderboard (lowest score wins):
24
#31 - John Huynh / @huynh_j93

03/30/2023 at 07:45PM

33
#32 - Georg Bökman / @BokmanGeorg

06/30/2021 at 10:33AM

33
#33 - Alice Bob / @AliceBo54291620

08/15/2021 at 10:19PM

33
#34 - Vim Golfer / @VimGolfer20

08/24/2021 at 07:02AM

33
#35 - Yeontaek Kim / @YeontaekK

08/25/2021 at 12:40PM

33
#36 - Jean George / @JeanGeo20504212

11/12/2021 at 06:06PM

33
#37 - Даня Ефимов / @Abberatus

02/19/2022 at 12:16PM

33
#38 - redbigyesnoGoThenWhy / @redbigyesno

06/03/2022 at 10:46AM

34
#39 - quiet_doi / @quiet_doi

06/11/2021 at 02:58AM

34
#40 - Blake Tereau / @BlakeTereau

06/19/2021 at 04:10PM

34
#41 - りん / @mizuwumi

07/30/2021 at 03:00PM

34
#42 - satetheus-vimgolf / @SVimgolf

07/17/2022 at 10:24PM

35
#43 - Tuure / @tuure_p

06/04/2021 at 02:49AM

35
#44 - sdfghjk / @sdfghjk88424595

04/28/2022 at 12:46AM

37
#45 - quemeraisc / @quemeraisc

05/18/2022 at 12:32PM

37
#46 - Dank City / @ddankcity

12/06/2022 at 04:43PM

38
#47 - garry quested / @GQuested

09/24/2021 at 11:40AM

39
#48 - Ferran / @dillunsos

07/29/2021 at 01:25PM

39
#49 - cheronder / @cheronder1

11/24/2021 at 07:46AM

39
#50 - Marco Meinardi / @chino_meinardi

12/29/2022 at 08:30PM

40
#51 - mevmev / @mevmev8

07/23/2021 at 02:57PM

40
#52 - Yondonjamts Ganzorig / @yondonjamts_g

08/05/2021 at 05:31AM

40
#53 - Pierre-Olivier Proulx / @PierreO57066096

04/21/2022 at 01:49AM

42
#54 - Brogan / @Brogan79363502

07/18/2021 at 05:14PM

43
#55 - Shrutesh Patil / @patil_shrutesh

12/03/2021 at 10:15AM

44
#56 - webx007 / @webx_007

06/14/2021 at 02:30AM

44
#57 - shannon / @ShannonGu1031

06/27/2021 at 04:17PM

44
#58 - T. Arch / @TArch76864215

08/28/2021 at 06:51PM

44
#59 - hector / @w29975700

11/30/2021 at 05:03AM

45
#60 - Alex Lewin / @_AlexLewin

02/17/2023 at 04:58AM