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 4fca701fd3a0d40001000074

Remove noise from HTTP log

This piece of log (from the year 2000) contains some irrelevant data. We only want to see the HTTP method and resource.

Start file
fcrawler.looksmart.com - - [26/Apr/2000:00:00:12 -0400] "GET /contacts.html HTTP/1.0" 200 4595 "-" "FAST-WebCrawler/2.1-pre2 (ashen@looksmart.net)"
fcrawler.looksmart.com - - [26/Apr/2000:00:17:19 -0400] "GET /news/news.html HTTP/1.0" 200 16716 "-" "FAST-WebCrawler/2.1-pre2 (ashen@looksmart.net)"
ppp931.on.bellglobal.com - - [26/Apr/2000:00:16:12 -0400] "GET /download/windows/asctab31.zip HTTP/1.0" 200 1540096 "http://www.htmlgoodies.com/downloads/freeware/webdevelopment/15.html" "Mozilla/4.7 [en]C-SYMPA  (Win95; U)"
123.123.123.123 - - [26/Apr/2000:00:23:48 -0400] "GET /pics/wpaper.gif HTTP/1.0" 200 6248 "http://www.jafsoft.com/asctortf/" "Mozilla/4.05 (Macintosh; I; PPC)"
123.123.123.123 - - [26/Apr/2000:00:23:47 -0400] "GET /asctortf/ HTTP/1.0" 200 8130 "http://search.netscape.com/Computers/Data_Formats/Document/Text/RTF" "Mozilla/4.05 (Macintosh; I; PPC)"
123.123.123.123 - - [26/Apr/2000:00:23:48 -0400] "GET /pics/5star2000.gif HTTP/1.0" 200 4005 "http://www.jafsoft.com/asctortf/" "Mozilla/4.05 (Macintosh; I; PPC)"
123.123.123.123 - - [26/Apr/2000:00:23:50 -0400] "GET /pics/5star.gif HTTP/1.0" 200 1031 "http://www.jafsoft.com/asctortf/" "Mozilla/4.05 (Macintosh; I; PPC)"
123.123.123.123 - - [26/Apr/2000:00:23:51 -0400] "GET /pics/a2hlogo.jpg HTTP/1.0" 200 4282 "http://www.jafsoft.com/asctortf/" "Mozilla/4.05 (Macintosh; I; PPC)"
123.123.123.123 - - [26/Apr/2000:00:23:51 -0400] "GET /cgi-bin/newcount?jafsof3&width=4&font=digital&noshow HTTP/1.0" 200 36 "http://www.jafsoft.com/asctortf/" "Mozilla/4.05 (Macintosh; I; PPC)"
End file
GET /contacts.html
GET /news/news.html
GET /download/windows/asctab31.zip
GET /pics/wpaper.gif
GET /asctortf/
GET /pics/5star2000.gif
GET /pics/5star.gif
GET /pics/a2hlogo.jpg
GET /cgi-bin/newcount?jafsof3&width=4&font=digital&noshow

View Diff

1,9c1,9
< fcrawler.looksmart.com - - [26/Apr/2000:00:00:12 -0400] "GET /contacts.html HTTP/1.0" 200 4595 "-" "FAST-WebCrawler/2.1-pre2 (ashen@looksmart.net)"
< fcrawler.looksmart.com - - [26/Apr/2000:00:17:19 -0400] "GET /news/news.html HTTP/1.0" 200 16716 "-" "FAST-WebCrawler/2.1-pre2 (ashen@looksmart.net)"
< ppp931.on.bellglobal.com - - [26/Apr/2000:00:16:12 -0400] "GET /download/windows/asctab31.zip HTTP/1.0" 200 1540096 "http://www.htmlgoodies.com/downloads/freeware/webdevelopment/15.html" "Mozilla/4.7 [en]C-SYMPA  (Win95; U)"
< 123.123.123.123 - - [26/Apr/2000:00:23:48 -0400] "GET /pics/wpaper.gif HTTP/1.0" 200 6248 "http://www.jafsoft.com/asctortf/" "Mozilla/4.05 (Macintosh; I; PPC)"
< 123.123.123.123 - - [26/Apr/2000:00:23:47 -0400] "GET /asctortf/ HTTP/1.0" 200 8130 "http://search.netscape.com/Computers/Data_Formats/Document/Text/RTF" "Mozilla/4.05 (Macintosh; I; PPC)"
< 123.123.123.123 - - [26/Apr/2000:00:23:48 -0400] "GET /pics/5star2000.gif HTTP/1.0" 200 4005 "http://www.jafsoft.com/asctortf/" "Mozilla/4.05 (Macintosh; I; PPC)"
< 123.123.123.123 - - [26/Apr/2000:00:23:50 -0400] "GET /pics/5star.gif HTTP/1.0" 200 1031 "http://www.jafsoft.com/asctortf/" "Mozilla/4.05 (Macintosh; I; PPC)"
< 123.123.123.123 - - [26/Apr/2000:00:23:51 -0400] "GET /pics/a2hlogo.jpg HTTP/1.0" 200 4282 "http://www.jafsoft.com/asctortf/" "Mozilla/4.05 (Macintosh; I; PPC)"
< 123.123.123.123 - - [26/Apr/2000:00:23:51 -0400] "GET /cgi-bin/newcount?jafsof3&width=4&font=digital&noshow HTTP/1.0" 200 36 "http://www.jafsoft.com/asctortf/" "Mozilla/4.05 (Macintosh; I; PPC)"
---
> GET /contacts.html
> GET /news/news.html
> GET /download/windows/asctab31.zip
> GET /pics/wpaper.gif
> GET /asctortf/
> GET /pics/5star2000.gif
> GET /pics/5star.gif
> GET /pics/a2hlogo.jpg
> GET /cgi-bin/newcount?jafsof3&width=4&font=digital&noshow

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 255 remaining solutions by signing in and submitting your own entry
#256 杨晨昀 Yangchenyun / @yangchenyun - Score: 500 - 08/08/12 @ 15:05
:%s/()<Left>.+<Right><Left><Left><Left><Left>\v<Right><Right><Right><Right>"G<BS>GET<BS><BS><BS><BS>"(GET<BS><BS><BS>GET \/()<Left>>=<BS><BS><Right><Left>[]<Right><BS><Left><Left><BS><Right>\w.<Right>+)/\1/g<CR>:<Up><Left><Left><Left><Left><Left><Left><Right><Right><Right><Right><Right><Right><Right><Right><Right><Right><Right><Right><Left><Left><Left><Left><Left>()<Left>>+<BS><BS>.+<Right>\r<BS>n<CR>:<Down><Up><Left><Left><Left><Left><Left><Left><Left><Left><Left><Left><Left><Left><Left><Left><Left><Left><Left><Left><BS><BS><Right><Right><BS>/<BS>\<Left>\\<Right><Right><Left><Left><Left><Left><Right><Right><Right><Right><Right><Right><Right><Right><Right><Right><Right><Right><Right><Right><Right><Right><Right><Right><Right><Right><Right><Right><Right><Right><Left><Left><Left><Left><Left><Left><Left><Left><Left><Left><Left><Left><Left><Left><Left><Left><Left><Left><Left><Left><Left><Left><Left><Left><Right><Right><Right><Right><Right><Right><Right><Right><Right><Right><Right><Right><Right><Right><Right><Right><Right><Right><Right><Right><Right><Right><Right><Right><Right><Right><Right><Right><Right><Right><CR>:<Up><Left><Right><Left><Left><BS><BS><Right><Right><BS>g<Left><Left><Left><BS><BS><BS><BS><BS><BS><BS><BS><BS><BS><BS><BS><BS><BS><BS><BS>)<CR><Esc>unj<Esc>jjjjjj,/,<Esc><Esc>,/<Esc><Esc>kkuuujjjjkkkkkkkkkjjjjjkkllllllllllllllllllllllllllllllllllllllllllllllllllll:<Up><Left><Left><Left><Right><Left><Left><Left><Left><Left><Left><Left><Left><Left><Left><Left><Right><BS><Right><Right><Right><BS><Right><Right><Right><Right><Right> //<CR>:<Up><Left><Left><Left><Left><Left><Right><BS><BS>\/<CR><Esc>u:<Up><Left><Left><Left><Left><Right><Right>\1<CR><Esc>u:<Up><Left><Left><Left><Left><Left><Left>[]<Left>\w<Right>+<CR>:<Up><Left><Left><Left><Left><Left><Left><Left><Left><Right><BS><Left><Left><BS><CR><Esc>u:<Up><Left><Left><Left><Left><Left><Left><Left><BS><BS>[]<Left>^ <CR>:<Up><CR>u:<Up><CR>u:<Up><Left><Left><Left><Left><Left><Left><Left><Right><Right>.+<CR>:w<CR>:wq<CR>

0 comments


Created by: @laurilehmijoki

256 active golfers, 653 entries

Leaderboard (lowest score wins):
17
#211 - Patrick Pitoscia / @Patrick03960431

08/16/2014 at 03:54AM

17
#212 - chaffinch / @chaffinch

08/25/2014 at 03:41PM

17
#213 - Justin Knag / @justinknag

08/28/2014 at 03:24PM

17
#214 - Gerald Tilma / @GeraldTilma

10/22/2015 at 02:15AM

17
#215 - Matt McNeil / @mmcnl

11/11/2015 at 09:08AM

17
#216 - Etienne Tremel / @etiennetremel

02/09/2016 at 09:18PM

17
#217 - Ryan van Rensburg / @rdvr001

07/23/2016 at 10:20AM

17
#218 - jn / @j1357924

09/14/2016 at 07:50PM

17
#219 - phucvin / @phucvin

02/15/2018 at 05:13AM

17
#220 - Dr Rev J. “I am not a bot!” Kirchartz, KSC, KHS / @JKirchartz

06/15/2018 at 06:47PM

17
#221 - Marius Jurgelenas / @MarenasLT

06/21/2018 at 12:38PM

17
#222 - Marten Ringwelski / @Marteon27

12/08/2018 at 06:54PM

18
#223 - Peter Schlette / @pschlette

08/01/2012 at 03:17AM

18
#224 - Mihai Mazilu / @mtmazilu

09/10/2012 at 08:27PM

18
#225 - Justin / @justinjaffray

04/24/2013 at 01:47AM

18
#226 - Raphael / @rnstlr

12/01/2013 at 03:45PM

18
#227 - CHIP CASTLE / @chipcastle

12/28/2013 at 02:58AM

18
#228 - ryk / @rykarn

03/29/2014 at 01:53PM

18
#229 - Michał Dytko / @DytkoM

12/28/2016 at 02:07PM

19
#230 - Benny Wong / @bdotdub

04/29/2015 at 08:46PM

19
#231 - mattp (part of the 💉💉 club) / @mattpep

05/12/2016 at 11:07PM

20
#232 - Benjamin Sergeant / @bsergean

06/05/2012 at 03:17PM

20
#233 - Paul Gessler / @pdgessler

06/07/2012 at 03:43AM

20
#234 - Philippe Creux / @pcreux

07/13/2012 at 06:48AM

20
#235 - Jan Wedekind / @wedesoft

07/17/2012 at 12:07PM

20
#236 - BostX / @BostX

09/06/2012 at 03:26PM

22
#237 - lauri lehmijoki / @laurilehmijoki

06/02/2012 at 08:07PM

22
#238 - Alan Oliver / @alol

06/02/2012 at 10:25PM

22
#239 - Brendan Schaenzer / @bschaenzer

09/30/2020 at 04:09PM

23
#240 - Alec Chen / @alec929

11/03/2012 at 12:55PM