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

250 active golfers, 622 entries

Leaderboard (lowest score wins):
17
#211 - Etienne Tremel / @etiennetremel

02/09/2016 at 09:18PM

17
#212 - Ryan van Rensburg / @rdvr001

07/23/2016 at 10:20AM

17
#213 - jn / @j1357924

09/14/2016 at 07:50PM

17
#214 - phucvin / @phucvin

02/15/2018 at 05:13AM

17
#215 - Dr. Rev. J. "Paranoid Android" Kirchartz / @JKirchartz

06/15/2018 at 06:47PM

17
#216 - Marius Jurgelenas / @MarenasLT

06/21/2018 at 12:38PM

17
#217 - Marten Ringwelski / @Marteon27

12/08/2018 at 06:54PM

18
#218 - Peter Schlette / @pschlette

08/01/2012 at 03:17AM

18
#219 - Mihai Mazilu / @mtmazilu

09/10/2012 at 08:27PM

18
#220 - Justin / @justinjaffray

04/24/2013 at 01:47AM

18
#221 - Raphael / @rnstlr

12/01/2013 at 03:45PM

18
#222 - CHIP CASTLE / @chipcastle

12/28/2013 at 02:58AM

18
#223 - ryk / @rykarn

03/29/2014 at 01:53PM

18
#224 - Michał Dytko / @DytkoM

12/28/2016 at 02:07PM

19
#225 - Benny Wong / @bdotdub

04/29/2015 at 08:46PM

19
#226 - some call me mattp / @mattpep

05/12/2016 at 11:07PM

20
#227 - Benjamin Sergeant / @bsergean

06/05/2012 at 03:17PM

20
#228 - Paul Gessler / @pdgessler

06/07/2012 at 03:43AM

20
#229 - Philippe Creux / @pcreux

07/13/2012 at 06:48AM

20
#230 - Jan Wedekind / @wedesoft

07/17/2012 at 12:07PM

20
#231 - BostX / @BostX

09/06/2012 at 03:26PM

22
#232 - lauri lehmijoki / @laurilehmijoki

06/02/2012 at 08:07PM

22
#233 - Alan Oliver / @alol

06/02/2012 at 10:25PM

23
#234 - Alec Chen / @alec929

11/03/2012 at 12:55PM

23
#235 - Jason Wolf / @zephyr_wolf

11/08/2012 at 05:30PM

23
#236 - murmurs / @mrmrs_

04/30/2014 at 07:38AM

24
#237 - Esoga Simmons / @esogstw

06/10/2012 at 07:15AM

24
#238 - Carlos Hernando / @chernando

06/13/2012 at 06:51PM

24
#239 - Nicolas Friedli / @NicolasFriedli

10/29/2012 at 10:27PM

25
#240 - Asenar / @asenar

06/02/2012 at 09:50PM