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

Changing URL path in CSS

What's the quickest way to swap out all the URLs in a CSS file? Is it wasted keystrokes using look-behinds and look-aheads? (I'm sorry for the delete/report--I made a mistake with the last one requiring an ugly search for graphic to replace with images. I just intended this to be a simple search and replace that might possibly generate some macros or normals solutions that are quicker)

Start file
body {
	background: #d47300 url(graphics/noise.png);	
	font-family: 'Open Sans', sans-serif;
}


.background {
	background: url(../images/background_shadow.png) no-repeat top center;
	background-position: 50% 16%;	
}

.background_overlay {
	background: url(../images/background_overlay.png) no-repeat top center;
	padding: 0;
	margin:0;
}


.order {
	background: #ff9e00 url(graphics/order.png) repeat-x;
	height: 25px;
	display: inline-block;
	color: #d47300;
	line-height: 25px;
	font-weight: 700;
	font-size: 13px;
	font-weight: 800;
	padding: 0 10px;
	-webkit-border-radius: 20px;
	-moz-border-radius: 20px;
	box-shadow: 0 0 0px 5px rgba(0,0,0,0.10);	
	margin-right: 20px;
	text-transform: uppercase;
	color: #825600;
	text-shadow: 0px 1px 0px rgba(255,255,255,0.50);
}

.sponsor:hover {
	background-position: 0px -25px;
}

.sponsor:active {
	background: #ff9e00 url(../images/sponsors/sponsorBlock.png) repeat-x;
	background-position: 0px -50px;
}


.telephone {
	background: #fff url(graphics/telephone.png) repeat-x;
	height: 25px;
	display: inline-block;
	color: #A65A01;
	line-height: 25px;
	font-weight: 700;
	font-size: 14px;
	padding: 0 10px;
	-webkit-border-radius: 20px;
	-moz-border-radius: 20px;
	box-shadow: 0 0 0px 5px rgba(0,0,0,0.10);	
	margin-right: 20px;
	text-shadow: 0px 1px 0px rgba(255,255,255,0.50);
}


.social {
	background: #fff url(../social/telephone.png) repeat-x;
	display: inline-block;
	height: 25px;
	line-height: 25px;
	padding: 0 10px;
	color: #A65A01;
	font-weight: 700;
	font-size: 14px;
	-webkit-border-radius: 20px;
	-moz-border-radius: 20px;
	box-shadow: 0 0 0px 5px rgba(0,0,0,0.10);	
	margin-right: 20px;
}
End file
body {
	background: #d47300 url(/wp-content/themes/black/graphics/noise.png);	
	font-family: 'Open Sans', sans-serif;
}


.background {
	background: url(/wp-content/themes/black/images/background_shadow.png) no-repeat top center;
	background-position: 50% 16%;	
}

.background_overlay {
	background: url(/wp-content/themes/black/images/background_overlay.png) no-repeat top center;
	padding: 0;
	margin:0;
}


.order {
	background: #ff9e00 url(/wp-content/themes/black/graphics/order.png) repeat-x;
	height: 25px;
	display: inline-block;
	color: #d47300;
	line-height: 25px;
	font-weight: 700;
	font-size: 13px;
	font-weight: 800;
	padding: 0 10px;
	-webkit-border-radius: 20px;
	-moz-border-radius: 20px;
	box-shadow: 0 0 0px 5px rgba(0,0,0,0.10);	
	margin-right: 20px;
	text-transform: uppercase;
	color: #825600;
	text-shadow: 0px 1px 0px rgba(255,255,255,0.50);
}

.sponsor:hover {
	background-position: 0px -25px;
}

.sponsor:active {
	background: #ff9e00 url(/wp-content/themes/black/images/sponsors/sponsorBlock.png) repeat-x;
	background-position: 0px -50px;
}


.telephone {
	background: #fff url(/wp-content/themes/black/graphics/telephone.png) repeat-x;
	height: 25px;
	display: inline-block;
	color: #A65A01;
	line-height: 25px;
	font-weight: 700;
	font-size: 14px;
	padding: 0 10px;
	-webkit-border-radius: 20px;
	-moz-border-radius: 20px;
	box-shadow: 0 0 0px 5px rgba(0,0,0,0.10);	
	margin-right: 20px;
	text-shadow: 0px 1px 0px rgba(255,255,255,0.50);
}


.social {
	background: #fff url(/wp-content/themes/black/social/telephone.png) repeat-x;
	display: inline-block;
	height: 25px;
	line-height: 25px;
	padding: 0 10px;
	color: #A65A01;
	font-weight: 700;
	font-size: 14px;
	-webkit-border-radius: 20px;
	-moz-border-radius: 20px;
	box-shadow: 0 0 0px 5px rgba(0,0,0,0.10);	
	margin-right: 20px;
}

View Diff

2c2
< 	background: #d47300 url(graphics/noise.png);	
---
> 	background: #d47300 url(/wp-content/themes/black/graphics/noise.png);	
8c8
< 	background: url(../images/background_shadow.png) no-repeat top center;
---
> 	background: url(/wp-content/themes/black/images/background_shadow.png) no-repeat top center;
13c13
< 	background: url(../images/background_overlay.png) no-repeat top center;
---
> 	background: url(/wp-content/themes/black/images/background_overlay.png) no-repeat top center;
20c20
< 	background: #ff9e00 url(graphics/order.png) repeat-x;
---
> 	background: #ff9e00 url(/wp-content/themes/black/graphics/order.png) repeat-x;
43c43
< 	background: #ff9e00 url(../images/sponsors/sponsorBlock.png) repeat-x;
---
> 	background: #ff9e00 url(/wp-content/themes/black/images/sponsors/sponsorBlock.png) repeat-x;
49c49
< 	background: #fff url(graphics/telephone.png) repeat-x;
---
> 	background: #fff url(/wp-content/themes/black/graphics/telephone.png) repeat-x;
66c66
< 	background: #fff url(../social/telephone.png) repeat-x;
---
> 	background: #fff url(/wp-content/themes/black/social/telephone.png) repeat-x;

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 63 remaining solutions by signing in and submitting your own entry
#64 Noel Alejandro / @noelrock333 - Score: 435 - 06/22/12 @ 21:39
:$<BS>%S<BS>s,/<BS>l*<BS>(8<BS>[.](<BS>*,-<BS>l(wo<BS>p-wo<BS><BS>content.<BS>/themes.<BS>/black><BS><CR>>><BS><BS><<<BS><BS>ZZ<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><Down><Down><Down><Down><Down><Down>u:%s.<BS>,8<BS>l(<Esc>[<Esc>:%s,l([./]*,<BS>.<BS>,l(con=<BS><BS><BS><BS>wp-content<Left><Left><Left><Left><Left><Left><Left><Left><Left><Left><Left><Right>/<Right><Right><Right><Right><Right><Right><Right><Right><Right><Right><Right><Right>/thee<BS>mes.<BS>/black<Right><CR>jjjjjjjjjjjjjjjjjjjjj}{{{{{{{{{{{{}}}}}}}}}}u%:%s,usl<BS><BS>rl([]<Left>./<Right><Right>.<BS><Left><Left>.<Right><Right><Left><Left><BS><Right><Right><Right>><BS>*,<<BS>*<BS><<BS>url(/content<BS><BS><BS><BS><BS><BS><BS>wp/<BS>-co<BS><BS>content-<BS>.<BS>/themes-<BS>/black/<CR>kkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk><Esc>:w<CR><Esc><C-W>q

0 comments


Created by: @Salshammath

64 active golfers, 143 entries

Leaderboard (lowest score wins):
70
#61 - Iggy / @iggredible

09/12/2019 at 03:06AM

87
#62 - hwatson381 / @hwatson381

05/14/2025 at 12:14PM

342
#63 - Brett Lischalk / @blischalk

07/14/2012 at 01:16AM

435
#64 - Noel Alejandro / @noelrock333

06/22/2012 at 09:39PM