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

Python Hello World! Reformatting

A novice Python using prints Hello World! and a pro shows him different way. Using vim to get into pro style from novice, win the challenge.

Start file
#!/usr/bin/python
import sys
a = "Hello World!"
sys.stdout.write(str(a[0]))
sys.stdout.write(str(a[1]))
sys.stdout.write(str(a[2]))
sys.stdout.write(str(a[3]))
sys.stdout.write(str(a[4]))
sys.stdout.write(str(a[5]))
sys.stdout.write(str(a[6]))
sys.stdout.write(str(a[7]))
sys.stdout.write(str(a[8]))
sys.stdout.write(str(a[9]))
sys.stdout.write(str(a[10]))
sys.stdout.write(str(a[11]))
End file
#!/usr/bin/python
import sys
a = "Hello World!"
for i in range(0, len(a)):
  sys.stdout.write(str(a[i]))

View Diff

4,15c4,5
< sys.stdout.write(str(a[0]))
< sys.stdout.write(str(a[1]))
< sys.stdout.write(str(a[2]))
< sys.stdout.write(str(a[3]))
< sys.stdout.write(str(a[4]))
< sys.stdout.write(str(a[5]))
< sys.stdout.write(str(a[6]))
< sys.stdout.write(str(a[7]))
< sys.stdout.write(str(a[8]))
< sys.stdout.write(str(a[9]))
< sys.stdout.write(str(a[10]))
< sys.stdout.write(str(a[11]))
---
> for i in range(0, len(a)):
>   sys.stdout.write(str(a[i]))

Solutions by @christophstock:

Unlock 10 remaining solutions by signing in and submitting your own entry
Created by: @Ujjwol

364 active golfers, 938 entries

Solutions by @christophstock:
43
#134 - Christoph Stock / @christophstock

12/29/2010 at 11:12PM

43
#>134 - Christoph Stock / @christophstock

12/29/2010 at 11:19PM

45
#>257 - Christoph Stock / @christophstock

12/29/2010 at 11:09PM

47
#>301 - Christoph Stock / @christophstock

12/29/2010 at 11:12PM

48
#>316 - Christoph Stock / @christophstock

12/29/2010 at 11:08PM

50
#>334 - Christoph Stock / @christophstock

12/29/2010 at 11:05PM

54
#>347 - Christoph Stock / @christophstock

12/29/2010 at 11:05PM

59
#>356 - Christoph Stock / @christophstock

12/29/2010 at 11:02PM

61
#>357 - Christoph Stock / @christophstock

12/29/2010 at 10:59PM

95
#>364 - Christoph Stock / @christophstock

12/29/2010 at 10:55PM