Real Vim ninjas count every keystroke - do you?

Pick a challenge, fire up Vim, and show us what you got.

Leaderboard, Changelog, Rules & FAQ, updates: @vimgolf, RSS.

Your VimGolf key: please sign in

$ gem install vimgolf
$ vimgolf setup
$ vimgolf put 50b1517e9aad890002000004

Printable ASCII characters

From a blank input, print all 95 printing ASCII characters one per line, from space to tilde.

Start file

End file
 
!
"
#
$
%
&
'
(
)
*
+
,
-
.
/
0
1
2
3
4
5
6
7
8
9
:
;
<
=
>
?
@
A
B
C
D
E
F
G
H
I
J
K
L
M
N
O
P
Q
R
S
T
U
V
W
X
Y
Z
[
\
]
^
_
`
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
{
|
}
~

View Diff

1c1,95
< 
---
>  
> !
> "
> #
> $
> %
> &
> '
> (
> )
> *
> +
> ,
> -
> .
> /
> 0
> 1
> 2
> 3
> 4
> 5
> 6
> 7
> 8
> 9
> :
> ;
> <
> =
> >
> ?
> @
> A
> B
> C
> D
> E
> F
> G
> H
> I
> J
> K
> L
> M
> N
> O
> P
> Q
> R
> S
> T
> U
> V
> W
> X
> Y
> Z
> [
> \
> ]
> ^
> _
> `
> a
> b
> c
> d
> e
> f
> g
> h
> i
> j
> k
> l
> m
> n
> o
> p
> q
> r
> s
> t
> u
> v
> w
> x
> y
> z
> {
> |
> }
> ~

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 26 remaining solutions by signing in and submitting your own entry
#27 Eric Andres / @eric_m_andres - Score: 47 - 12/04/12 @ 13:50
i32<Esc>qqyyp<C-A>q93@q:%s/.*/\=nr2char(submatch(0))<CR>ZZ

0 comments

#28 Rolf Bjaanes / @rolfb - Score: 48 - 11/24/12 @ 16:26
i32<Esc>qqYp<C-A>q93@q:%s/.\+/\=nr2char(submatch(0))/<CR>ZZ

0 comments

#29 Pawel Obrok / @mrYapee - Score: 48 - 11/25/12 @ 09:51
:let x=32<CR>qqi<C-R>=nr2char(x)<CR><CR><Esc>:let x=x+1<CR>q94@qddZZ

0 comments

#30 David Escribano / @DavidEGx - Score: 48 - 06/24/14 @ 11:19
i32<Esc>qqyyp<C-A>q93@q:%s/.*/\=nr2char(submatch(0))<CR><CR>ZZ

0 comments

#31 Alex Pounds / @acreature - Score: 48 - 06/24/14 @ 11:26
i32<Esc>qqyy:exe "norm cc".nr2ca<BS>har(@0)<CR>p<C-A>q94@qddZZ

0 comments

#32 Tenor Biel / @TenorB - Score: 50 - 06/09/13 @ 18:33
i32<Esc>qqYp<C-A>q93@q:%s/.\+/\=nr2chae<BS>r(submatch(0))/<CR>ZZ

@TenorB: CRAP! I messed up the spelling of char, and now I'm paying for it by 2 points!

1 comment

#33 Oliver Caldwell / @OliverCaldwell - Score: 50 - 06/24/14 @ 11:08
i32<Esc>qqyyp<C-A>q93@q:%s/\d\+/\=nr2char(submatch(0))/<CR>ZZ

0 comments

Created by: @udioica

33 active golfers, 81 entries

Leaderboard (lowest score wins):
Q6hrg93p4r3hn56thmd0_normal
22
#1 - Urtica dioica / @udioica

11/27/2012 at 10:21PM

0e620322b2c292d069fe93e27c081f9c_normal
22
#2 - Petro Тrouq / @zulolosi

02/25/2013 at 12:28AM

Johnjohn_normal
22
#3 - John Braxler / @braxler

08/19/2014 at 01:34PM

40051_789281885907_29616532_44170636_2091417_n_normal
23
#4 - Conner McDaniel / @connermcd

11/27/2012 at 08:15PM

Netti_pihlajo1_lthumb_normal
23
#5 - Joonas Pihlajamaa / @jokkebk

03/21/2014 at 04:56AM

Default_profile_3_normal
25
#6 - Va bien te faire fou / @mplayer_vimgolf

12/10/2012 at 09:56AM

Default_profile_3_normal
26
#7 - Édouard M'tou / @DouardM

12/19/2012 at 11:46AM

Default_profile_4_normal
31
#8 - Julian / @ShumpEvenwood

11/27/2012 at 05:03AM

Default_profile_1_normal
31
#9 - Hubba / @HubbaBubbaFett

11/28/2012 at 09:48AM

4654945923_eb2c60ee5f_normal
32
#10 - Kerson Hsiao / @KersonHsiao

11/25/2012 at 01:56AM

Twitter_normal
32
#11 - Drew Neil / @nelstrom

11/26/2012 at 01:38PM

Default_profile_1_normal
32
#12 - a24f0600 / @a24f0600

11/28/2012 at 02:59AM

3af28abaa88d5ed2b7b5e41e6f5d94f4_normal
32
#13 - wushexu / @wushexu

05/20/2013 at 05:07AM

3ubh7kcfj18s5m9erc6p_normal
35
#14 - Marcin Sza / @coot_

11/25/2012 at 07:29AM

Uwcvqcai_normal
35
#15 - Anthony Gargiulo / @argargablar

11/27/2012 at 01:25PM

Ewbdmdtg_normal
36
#16 - Tim Chase / @gumnos

11/24/2012 at 04:59PM

Av_normal
36
#17 - Vasil Sakarov / @vsakarov

11/25/2012 at 12:46PM

Vcwwccib_normal
38
#18 - Pete Johns / @johnsyweb

11/24/2012 at 07:47PM

1sy_gzdz_normal
38
#19 - Kai Yuan / @kentyuan

05/12/2013 at 03:02PM

Scan-080926-0017_normal
39
#20 - Jonathan Kim / @jonnykim

08/27/2013 at 12:38PM

Rsbdr2hz_normal
39
#21 - Nic West / @west_nic

06/24/2014 at 11:55AM

Gravatar_normal
43
#22 - Asmund Liseth / @Asmund_L

12/23/2012 at 04:51PM

0eac0267dbe74aebf3c8129f2e65accd_normal
45
#23 - mhb / @mhbvim

11/24/2012 at 10:51PM

77e8ce774cb634d764d6c874fc5193a7_normal
45
#24 - Kana Natsuno / @kana1

08/28/2013 at 02:08AM

Pprtifne_normal
45
#25 - Richard Jones / @metabrew

06/24/2014 at 11:44AM

Pupulon_normal
46
#26 - David Barnett / @mu_mind

11/24/2012 at 06:12PM

Profilepic_normal
47
#27 - Eric Andres / @eric_m_andres

12/04/2012 at 01:50PM

Twitter_normal
48
#28 - Rolf Bjaanes / @rolfb

11/24/2012 at 04:26PM

Img_3126__1__normal
48
#29 - Pawel Obrok / @mrYapee

11/25/2012 at 09:51AM

Ts0_normal
48
#30 - David Escribano / @DavidEGx

06/24/2014 at 11:19AM

Spacemanbitizen_normal
48
#31 - Alex Pounds / @acreature

06/24/2014 at 11:26AM

Avatarmain_normal
50
#32 - Tenor Biel / @TenorB

06/09/2013 at 06:33PM

8bit_normal
50
#33 - Oliver Caldwell / @OliverCaldwell

06/24/2014 at 11:08AM