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

Generate an entry for each month

The input file contains a URI with a month in it. Generate the URIs for all the other months up to a couple of years

Start file
gs://my-bucket/some-dir/2016-01-01/*.avro
End file
gs://my-bucket/some-dir/2016-01-01/*.avro
gs://my-bucket/some-dir/2016-02-01/*.avro
gs://my-bucket/some-dir/2016-03-01/*.avro
gs://my-bucket/some-dir/2016-04-01/*.avro
gs://my-bucket/some-dir/2016-05-01/*.avro
gs://my-bucket/some-dir/2016-06-01/*.avro
gs://my-bucket/some-dir/2016-07-01/*.avro
gs://my-bucket/some-dir/2016-08-01/*.avro
gs://my-bucket/some-dir/2016-09-01/*.avro
gs://my-bucket/some-dir/2016-10-01/*.avro
gs://my-bucket/some-dir/2016-11-01/*.avro
gs://my-bucket/some-dir/2016-12-01/*.avro
gs://my-bucket/some-dir/2017-01-01/*.avro
gs://my-bucket/some-dir/2017-02-01/*.avro
gs://my-bucket/some-dir/2017-03-01/*.avro
gs://my-bucket/some-dir/2017-04-01/*.avro
gs://my-bucket/some-dir/2017-05-01/*.avro
gs://my-bucket/some-dir/2017-06-01/*.avro
gs://my-bucket/some-dir/2017-07-01/*.avro
gs://my-bucket/some-dir/2017-08-01/*.avro
gs://my-bucket/some-dir/2017-09-01/*.avro
gs://my-bucket/some-dir/2017-10-01/*.avro
gs://my-bucket/some-dir/2017-11-01/*.avro
gs://my-bucket/some-dir/2017-12-01/*.avro
gs://my-bucket/some-dir/2018-01-01/*.avro
gs://my-bucket/some-dir/2018-02-01/*.avro
gs://my-bucket/some-dir/2018-03-01/*.avro
gs://my-bucket/some-dir/2018-04-01/*.avro
gs://my-bucket/some-dir/2018-05-01/*.avro
gs://my-bucket/some-dir/2018-06-01/*.avro
gs://my-bucket/some-dir/2018-07-01/*.avro
gs://my-bucket/some-dir/2018-08-01/*.avro
gs://my-bucket/some-dir/2018-09-01/*.avro
gs://my-bucket/some-dir/2018-10-01/*.avro
gs://my-bucket/some-dir/2018-11-01/*.avro
gs://my-bucket/some-dir/2018-12-01/*.avro
gs://my-bucket/some-dir/2019-01-01/*.avro
gs://my-bucket/some-dir/2019-02-01/*.avro
gs://my-bucket/some-dir/2019-03-01/*.avro
gs://my-bucket/some-dir/2019-04-01/*.avro
gs://my-bucket/some-dir/2019-05-01/*.avro
gs://my-bucket/some-dir/2019-06-01/*.avro
gs://my-bucket/some-dir/2019-07-01/*.avro
gs://my-bucket/some-dir/2019-08-01/*.avro
gs://my-bucket/some-dir/2019-09-01/*.avro
gs://my-bucket/some-dir/2019-10-01/*.avro
gs://my-bucket/some-dir/2019-11-01/*.avro
gs://my-bucket/some-dir/2019-12-01/*.avro

View Diff

1a2,48
> gs://my-bucket/some-dir/2016-02-01/*.avro
> gs://my-bucket/some-dir/2016-03-01/*.avro
> gs://my-bucket/some-dir/2016-04-01/*.avro
> gs://my-bucket/some-dir/2016-05-01/*.avro
> gs://my-bucket/some-dir/2016-06-01/*.avro
> gs://my-bucket/some-dir/2016-07-01/*.avro
> gs://my-bucket/some-dir/2016-08-01/*.avro
> gs://my-bucket/some-dir/2016-09-01/*.avro
> gs://my-bucket/some-dir/2016-10-01/*.avro
> gs://my-bucket/some-dir/2016-11-01/*.avro
> gs://my-bucket/some-dir/2016-12-01/*.avro
> gs://my-bucket/some-dir/2017-01-01/*.avro
> gs://my-bucket/some-dir/2017-02-01/*.avro
> gs://my-bucket/some-dir/2017-03-01/*.avro
> gs://my-bucket/some-dir/2017-04-01/*.avro
> gs://my-bucket/some-dir/2017-05-01/*.avro
> gs://my-bucket/some-dir/2017-06-01/*.avro
> gs://my-bucket/some-dir/2017-07-01/*.avro
> gs://my-bucket/some-dir/2017-08-01/*.avro
> gs://my-bucket/some-dir/2017-09-01/*.avro
> gs://my-bucket/some-dir/2017-10-01/*.avro
> gs://my-bucket/some-dir/2017-11-01/*.avro
> gs://my-bucket/some-dir/2017-12-01/*.avro
> gs://my-bucket/some-dir/2018-01-01/*.avro
> gs://my-bucket/some-dir/2018-02-01/*.avro
> gs://my-bucket/some-dir/2018-03-01/*.avro
> gs://my-bucket/some-dir/2018-04-01/*.avro
> gs://my-bucket/some-dir/2018-05-01/*.avro
> gs://my-bucket/some-dir/2018-06-01/*.avro
> gs://my-bucket/some-dir/2018-07-01/*.avro
> gs://my-bucket/some-dir/2018-08-01/*.avro
> gs://my-bucket/some-dir/2018-09-01/*.avro
> gs://my-bucket/some-dir/2018-10-01/*.avro
> gs://my-bucket/some-dir/2018-11-01/*.avro
> gs://my-bucket/some-dir/2018-12-01/*.avro
> gs://my-bucket/some-dir/2019-01-01/*.avro
> gs://my-bucket/some-dir/2019-02-01/*.avro
> gs://my-bucket/some-dir/2019-03-01/*.avro
> gs://my-bucket/some-dir/2019-04-01/*.avro
> gs://my-bucket/some-dir/2019-05-01/*.avro
> gs://my-bucket/some-dir/2019-06-01/*.avro
> gs://my-bucket/some-dir/2019-07-01/*.avro
> gs://my-bucket/some-dir/2019-08-01/*.avro
> gs://my-bucket/some-dir/2019-09-01/*.avro
> gs://my-bucket/some-dir/2019-10-01/*.avro
> gs://my-bucket/some-dir/2019-11-01/*.avro
> gs://my-bucket/some-dir/2019-12-01/*.avro

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 66 remaining solutions by signing in and submitting your own entry
#67 Filmon Abrha / @Wedi-Nachew - Score: 415 - 11/14/24 @ 15:37
yyp/f6<BS><BS><BS>f6lll<C-A>yypf2<CR>f2<C-A>yypf3<C-A>yypf5f4<C-A>yypf6f6f5<C-A>yypf6f6<C-A>yypf7<C-A>u<C-A>u<C-A>uh<C-A><C-A><C-A><C-X><C-X><C-X>i<BS><BS><Right><BS>08<Esc>yypwwwwf8<C-A><C-A>R09-0<Esc>a1<Esc>yypf9r0<Esc>i<BS>1<Esc>yypf1f1<C-A><C-X><C-X><Esc>yyp<C-A><C-X>wwwh<C-A><C-X><C-X><Esc><Esc>ggyG12Gp/2<BS>s/<BS><BS><BS>:a<BS>s/2016/2017/g<BS><Left><Left><Left><Left><Left><Left><Left><Left><Left><Left><Left><Left>%<BS>13-24<BS><BS><BS>%24<Right><Right><Right><Right><Right><Right><Right><Right><Right><Right><Right><Left><Left><Left><Left><Left><Left><Left><Left><Left><Left><Left><Left><Left><BS>,<CR><Esc><Down><Esc>:nohls<CR>12GyG24gG24GpGp/<BS>:25,<BS><BS><BS><BS>uu13GyGGpGp:25,27<BS><BS>37<BS>6s/2017/2018<CR>:<Up><Left><Left><Left><Left><Left><Left><Left><Left><Left><Left><Left><Left><Left><Left><Left><Right><BS><BS>36<BS>7<Right><Right><Right><Right><BS>s<Left><BS><BS>42<BS>3<BS>9<Right><Right><Right><Right><Right><Right><BS>8<Right><Right><Right><Right><Right><BS>9<CR><Down><Down><Down><Down><Down><Down><Down><Down><Down><Down><Down><Down><Down><Down><Down><Down><Down><Down><Down><Down><Down><Down><Down><Down><Down>?<BS><Up><Up><Down>:<Up><Left><Left><Left><Left><Left><Left><Left><Left><Left><Left><Left><BS>8<CR><Up><Down>:<Up><Down><Up><Left><Left><Left><Left><Left><BS>7<CR><Down>:w<CR>ZZ

0 comments


Created by: @pacuna

67 active golfers, 237 entries

Leaderboard (lowest score wins):
43
#31 - Toby™ / @TobyFranksBTC

11/26/2024 at 01:59PM

43
#32 - constap / @constap

03/25/2025 at 03:16AM

45
#33 - cqjxx / @cqjxx1

11/22/2024 at 08:17PM

45
#34 - thierryharte / @thierryharte

04/19/2025 at 09:33PM

46
#35 - Oleksii Sanin / @AlexSanin

11/18/2024 at 08:28PM

47
#36 - thedvd98 / @thedvd98

11/16/2024 at 06:14PM

47
#37 - OuterSoda / @OuterSoda

01/24/2025 at 08:31AM

48
#38 - k1mosabe / @k1mosabe

12/02/2024 at 07:15PM

48
#39 - Herschel / @herschel-ma

01/04/2025 at 06:34AM

51
#40 - editor3D / @editor3D

11/14/2024 at 11:33PM

56
#41 - Pablo Acuna / @pacuna

11/13/2024 at 02:12AM

56
#42 - Katie Gardner / @KatieLG

06/22/2025 at 12:07AM

57
#43 - Stoyan Dimov / @stoyandimov

11/20/2024 at 08:12AM

57
#44 - Robert Gu / @ArchWand

05/21/2025 at 04:33AM

58
#45 - hwatson381 / @hwatson381

05/28/2025 at 04:30PM

59
#46 - MerryElvira / @ElviraBTC

11/24/2024 at 01:25PM

60
#47 - ohwell / @KiranClose

05/10/2025 at 07:50PM

64
#48 - greg-asc / @greg-asc

06/08/2025 at 10:50PM

66
#49 - Fi McAfee / @finsqm

11/20/2024 at 01:58PM

68
#50 - Ryo3110 / @r-3110

03/08/2025 at 01:45AM

68
#51 - 0xf00ff00f / @0xf00ff00f

06/16/2025 at 06:02PM

70
#52 - Frank Benoit / @frankb_stgt

05/31/2025 at 05:24PM

71
#53 - Tobias / @tobiasldn

06/20/2025 at 08:04PM

73
#54 - Sebastian Caicedo / @jsebdev

04/19/2025 at 11:06PM

77
#55 - fpf3 / @jovial_cavalier

11/19/2024 at 09:19PM

77
#56 - ak@developer / @Ajay-056

04/20/2025 at 07:28AM

82
#57 - chujDK / @chujDK

02/21/2025 at 09:40AM

83
#58 - Sjur B. / @Apostrophel

05/24/2025 at 08:27PM

94
#59 - Zhenkai Weng / @tinkerrc

11/22/2024 at 01:47AM

97
#60 - countime / @countime

11/27/2024 at 12:39AM