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

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 381 remaining solutions by signing in and submitting your own entry
#382 Zhao Yao / @Lynch8080 - Score: 93 - 12/31/10 @ 17:33
jjj12ddofor i in range()<Esc>i0, len()<Esc>ia<Esc>$a:<CR><BS>  sysy<BS>.stu<BS>dout.write()<Esc>istr()<Esc>ia[]<Esc>ii<Esc>:wq<CR>

0 comments


Created by: @Ujjwol

382 active golfers, 1000 entries

Leaderboard (lowest score wins):
44
#241 - Daniel / @Daniel00288663

03/31/2017 at 10:09AM

44
#242 - Sam Hammer / @samhammer325

05/07/2017 at 03:46AM

44
#243 - Daniel de Vries / @devries_d

02/08/2018 at 04:53PM

44
#244 - Marius Jurgelenas / @MarenasLT

07/12/2018 at 12:50PM

44
#245 - Jurica / @Jurica34581259

11/19/2018 at 09:40PM

44
#246 - Delon / @delonleonard

12/22/2019 at 12:29PM

44
#247 - RockerZZY / @rocker_zzy

06/21/2020 at 12:09AM

44
#248 - Mobius / @ManiacalMobius

05/17/2021 at 12:36AM

44
#249 - Vgrbwat / @vgrbwat

06/15/2021 at 04:41AM

44
#250 - Matrices Matlab #1 / @matrices_matlab

07/13/2021 at 07:23PM

44
#251 - Sergio / @SergioVl12

07/25/2021 at 03:24AM

44
#252 - panakin skywalker / @_j3ffrey

09/02/2021 at 03:04PM

44
#253 - Matthew Beaumont / @mattybeau_dev

11/26/2021 at 04:50PM

44
#254 - shahanavaz m / @shahanavazm

02/13/2022 at 05:19AM

44
#255 - quemeraisc / @quemeraisc

05/24/2022 at 01:41PM

44
#256 - Brandon / @Brandon10678836

08/31/2022 at 11:39AM

44
#257 - Andrii Soldatenko / @a_soldatenko

10/08/2022 at 03:34PM

44
#258 - Marius Ropotica / @cipmar

04/01/2024 at 05:50PM

44
#259 - Willy / @Willy6932612311

09/08/2024 at 07:25PM

44
#260 - Brando / @brandonce

01/28/2025 at 04:48AM

45
#261 - Matthew Draper / @_matthewd

12/29/2010 at 12:28PM

45
#262 - Lasse Immonen / @turtleman10

12/29/2010 at 01:00PM

45
#263 - Robert Leland / @robleland

12/29/2010 at 01:23PM

45
#264 - Mariano Guerra / @marianoguerra

12/29/2010 at 01:31PM

45
#265 - johnny / @johnnychm

12/29/2010 at 01:38PM

45
#266 - Dave V. / @dave_v

12/29/2010 at 01:45PM

45
#267 - Sérgio Figueiredo / @doubl3dge

12/29/2010 at 04:46PM

45
#268 - Ben Lenarts / @benlenarts

12/29/2010 at 06:45PM

45
#269 - sirex / @sirex

12/29/2010 at 09:23PM

45
#270 - lionel young / @lionelyoung

12/30/2010 at 04:51AM