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

0 comments

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

0 comments

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

0 comments

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

0 comments

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

0 comments

#33 Tenor Biel / @TenorB - Score: 50 - 06/10/13 @ 01: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

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

0 comments

Created by: @udioica

34 active golfers, 85 entries

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

11/28/2012 at 06:21AM

22
#2 - Petro Тrouq / @zulolosi

02/25/2013 at 08:28AM

22
#3 - John Braxler / @braxler

08/19/2014 at 08:34PM

23
#4 - Conner McDaniel / @connermcd

11/28/2012 at 04:15AM

23
#5 - Joonas Pihlajamaa / @jokkebk

03/21/2014 at 11:56AM

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

12/10/2012 at 05:56PM

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

12/19/2012 at 07:46PM

31
#8 - Julian / @ShumpEvenwood

11/27/2012 at 01:03PM

31
#9 - Hubba / @HubbaBubbaFett

11/28/2012 at 05:48PM

32
#10 - Kerson Hsiao / @KersonHsiao

11/25/2012 at 09:56AM

32
#11 - Drew Neil / @nelstrom

11/26/2012 at 09:38PM

32
#12 - a24f0600 / @a24f0600

11/28/2012 at 10:59AM

32
#13 - wushexu / @wushexu

05/20/2013 at 12:07PM

32
#14 - pftb12345 / @pftb12345

04/17/2015 at 03:57PM

35
#15 - Marcin Sza / @coot_

11/25/2012 at 03:29PM

35
#16 - Anthony Gargiulo / @argargablar

11/27/2012 at 09:25PM

36
#17 - Tim Chase / @gumnos

11/25/2012 at 12:59AM

36
#18 - Vasil Sakarov / @vsakarov

11/25/2012 at 08:46PM

38
#19 - Pete Johns / @johnsyweb

11/25/2012 at 03:47AM

38
#20 - Kai Yuan / @kentyuan

05/12/2013 at 10:02PM

39
#21 - Jonathan Kim / @jonnykim

08/27/2013 at 07:38PM

39
#22 - Nic West / @west_nic

06/24/2014 at 06:55PM

43
#23 - Asmund Liseth / @Asmund_L

12/24/2012 at 12:51AM

45
#24 - mhb / @mhbvim

11/25/2012 at 06:51AM

45
#25 - Kana Natsuno / @kana1

08/28/2013 at 09:08AM

45
#26 - Richard Jones / @metabrew

06/24/2014 at 06:44PM

46
#27 - David Barnett / @mu_mind

11/25/2012 at 02:12AM

47
#28 - Eric Andres / @eric_m_andres

12/04/2012 at 09:50PM

48
#29 - Rolf Bjaanes / @rolfb

11/25/2012 at 12:26AM

48
#30 - Pawel Obrok / @mrYapee

11/25/2012 at 05:51PM

48
#31 - David Escribano / @DavidEGx

06/24/2014 at 06:19PM

48
#32 - Alex Pounds / @acreature

06/24/2014 at 06:26PM

50
#33 - Tenor Biel / @TenorB

06/10/2013 at 01:33AM

50
#34 - Oliver Caldwell / @OliverCaldwell

06/24/2014 at 06:08PM