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):
46
#61 - Bruce Lee / @BruceLeeIII

07/23/2021 at 11:23PM

46
#62 - John Other / @john_other

10/25/2021 at 12:54AM

47
#63 - grsh / @girish_i_am

06/03/2021 at 08:25PM

47
#64 - Michael / @triorph

11/10/2021 at 06:50AM

50
#65 - David Díez / @deslogica

06/10/2021 at 01:28PM

51
#66 - czheo / @czheo

06/07/2021 at 03:41AM

52
#67 - Andey / @AndyonZ

12/28/2021 at 04:29AM

52
#68 - FirstModus / @Nolimimer

03/26/2023 at 01:07PM

53
#69 - sapir malka / @sapir5522

05/17/2022 at 01:01PM

55
#70 - Clmi / @c_decaf

08/06/2021 at 05:43AM

56
#71 - Max Mossberg / @mxmossy

06/30/2021 at 06:52PM

57
#72 - Sergio / @SergioVl12

08/15/2021 at 07:13AM

57
#73 - 吴建明 / @pysnow5300

09/26/2021 at 12:57PM

58
#74 - Qlio / @mrunagaldai

08/05/2021 at 06:16AM

59
#75 - Peter Pandorum / @PeterPandorum

08/07/2021 at 07:22PM

59
#76 - MrRubiksSC / @RubiksSc

08/14/2021 at 02:13PM

59
#77 - José Rodrigues / @jyrodrigues

08/18/2021 at 09:50PM

60
#78 - Ramtin Martin / @martin_ramtin

03/31/2022 at 11:19PM

61
#79 - Quentin Leroy / @qnleroy

08/20/2021 at 03:16PM

62
#80 - Patrick Martin / @PatrickDMartin

06/29/2021 at 08:16AM

62
#81 - Spencer Lanman / @LordZaffeine

08/17/2021 at 02:20AM

62
#82 - Justin Haaheim / @justinhaaheim

02/26/2022 at 10:37PM

66
#83 - hiramayo / @hiramayo2

06/25/2021 at 04:07AM

66
#84 - Hourann Lin / @HourannLin

08/05/2021 at 10:19AM

66
#85 - e1mnos / @e1mnos

08/10/2021 at 11:28AM

66
#86 - 時空裂縫 / @0xdcbf

02/08/2022 at 07:57AM

67
#87 - Andreas Näsman / @andreas_nasman

06/15/2021 at 01:19PM

67
#88 - Roni Kettunen / @Ronsteri1

11/28/2021 at 10:27AM

69
#89 - AAbraxas / @AAbraxas1

07/13/2021 at 08:49PM

69
#90 - Connor / @ronnocthered

08/15/2021 at 05:40AM