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 272 remaining solutions by signing in and submitting your own entry
#273 杨晨昀 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

273 active golfers, 717 entries

Leaderboard (lowest score wins):
15
#1 - Mateusz Lenik / @_mlen

06/02/2012 at 08:40PM

15
#2 - Tim Chase / @gumnos

06/02/2012 at 09:34PM

15
#3 - Urtica dioica / @udioica

06/02/2012 at 10:12PM

15
#4 - Justin Love / @wondible

06/02/2012 at 11:09PM

15
#5 - じょんあば / @john_ababa

06/03/2012 at 12:49AM

15
#6 - h_east (トロッコ6個) / @h_east

06/03/2012 at 01:58AM

15
#7 - Mattiassich Ákos / @mattiassicha

06/03/2012 at 05:58PM

15
#8 - Rod Knowlton / @codelahoma

06/03/2012 at 06:33PM

15
#9 - Thomas Schönwälder / @Masei1988

06/03/2012 at 06:53PM

15
#10 - mnx / @mnxx

06/03/2012 at 09:54PM

15
#11 - Simon Nicolussi / @sinic

06/03/2012 at 09:56PM

15
#12 - Federico Galassi / @federicogalassi

06/04/2012 at 06:20AM

15
#13 - Sebastian Kusnier / @skusnier

06/04/2012 at 07:50PM

15
#14 - Javier Blanco / @jbgutierrez

06/04/2012 at 10:51PM

15
#15 - Benoit Mortgat / @Benoit_Mortgat

06/05/2012 at 06:48PM

15
#16 - Trevor Powell / @DoomedBunnies

06/06/2012 at 07:39AM

15
#17 - shutl_test / @shutl_test

06/07/2012 at 12:48PM

15
#18 - utopiah / @utopiah

06/08/2012 at 01:16PM

15
#19 - Drew Hannay / @drewhannay

06/09/2012 at 07:01AM

15
#20 - ☈king / @SharpsawDotOrg

06/10/2012 at 07:47PM

15
#21 - Dave / @zzdave13

06/11/2012 at 07:50AM

15
#22 - Joakim L. Engeset / @joakim_eng

06/11/2012 at 05:30PM

15
#23 - Josh Steiner / @josh_steiner

06/12/2012 at 01:17AM

15
#24 - Mateusz Sójka / @yagooar

06/12/2012 at 09:13PM

15
#25 - Jacek Wysocki / @ex00

06/14/2012 at 10:45AM

15
#26 - Ryan O'Connell / @Salshammath

06/21/2012 at 03:45AM

15
#27 - Greg Sabo / @gregsabo

06/21/2012 at 04:07AM

15
#28 - Alexey Morozov / @alexeysmorozov

06/23/2012 at 10:30PM

15
#29 - Adam Pohorecki / @apohorecki

06/27/2012 at 04:59PM

15
#30 - Raúl Jara / @rauljara

07/09/2012 at 11:58PM