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 68 remaining solutions by signing in and submitting your own entry
#69 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


#70 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

70 active golfers, 351 entries

Leaderboard (lowest score wins):
42
#31 - Brogan / @Brogan79363502

07/18/2021 at 05:14PM

44
#32 - webx007 / @webx_007

06/14/2021 at 02:30AM

44
#33 - shannon / @ShannonGu1031

06/27/2021 at 04:17PM

44
#34 - T. Arch / @TArch76864215

08/28/2021 at 06:51PM

46
#35 - Bruce Lee / @BruceLeeIII

07/23/2021 at 11:23PM

47
#36 - grsh / @girish_i_am

06/03/2021 at 08:25PM

50
#37 - David Díez / @deslogica

06/10/2021 at 01:28PM

51
#38 - czheo / @czheo

06/07/2021 at 03:41AM

55
#39 - Clmi / @c_decaf

08/06/2021 at 05:43AM

56
#40 - Max Mossberg / @mxmossy

06/30/2021 at 06:52PM

57
#41 - Sergio / @SergioVl12

08/15/2021 at 07:13AM

57
#42 - 吴建明 / @pysnow5300

09/26/2021 at 12:57PM

58
#43 - Qlio / @mrunagaldai

08/05/2021 at 06:16AM

59
#44 - Peter Pandorum / @PeterPandorum

08/07/2021 at 07:22PM

59
#45 - MrRubiksSC / @RubiksSc

08/14/2021 at 02:13PM

59
#46 - José Rodrigues / @jyrodrigues

08/18/2021 at 09:50PM

61
#47 - Quentin Leroy / @qnleroy

08/20/2021 at 03:16PM

62
#48 - Patrick Martin / @PatrickDMartin

06/29/2021 at 08:16AM

62
#49 - Spencer Lanman / @LordZaffeine

08/17/2021 at 02:20AM

66
#50 - hiramayo / @hiramayo2

06/25/2021 at 04:07AM

66
#51 - Hourann Lin / @HourannLin

08/05/2021 at 10:19AM

66
#52 - e1mnos / @e1mnos

08/10/2021 at 11:28AM

67
#53 - Andreas Näsman / @andreas_nasman

06/15/2021 at 01:19PM

69
#54 - AAbraxas / @AAbraxas1

07/13/2021 at 08:49PM

69
#55 - Connor / @ronnocthered

08/15/2021 at 05:40AM

72
#56 - HotSixRedBull / @AlanSerpente

07/18/2021 at 04:29AM

73
#57 - Cameron Cordes / @cameron_cordes

07/13/2021 at 11:57PM

74
#58 - Alaris Morissette / @Alaris_Villain

08/05/2021 at 06:18AM

74
#59 - Scott Berger / @scottberger

09/28/2021 at 08:45PM

78
#60 - Ben Shephard / @_shepharddd_

08/17/2021 at 11:34AM