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):
22
#1 - Urtica dioica / @udioica

11/27/2012 at 10:21PM

22
#2 - Petro Тrouq / @zulolosi

02/25/2013 at 12:28AM

22
#3 - John Braxler / @braxler

08/19/2014 at 01:34PM

23
#4 - Conner McDaniel / @connermcd

11/27/2012 at 08:15PM

23
#5 - Joonas Pihlajamaa / @jokkebk

03/21/2014 at 04:56AM

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

12/10/2012 at 09:56AM

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

12/19/2012 at 11:46AM

31
#8 - Julian / @ShumpEvenwood

11/27/2012 at 05:03AM

31
#9 - Hubba / @HubbaBubbaFett

11/28/2012 at 09:48AM

32
#10 - Kerson Hsiao / @KersonHsiao

11/25/2012 at 01:56AM

32
#11 - Drew Neil / @nelstrom

11/26/2012 at 01:38PM

32
#12 - a24f0600 / @a24f0600

11/28/2012 at 02:59AM

32
#13 - wushexu / @wushexu

05/20/2013 at 05:07AM

35
#14 - Marcin Sza / @coot_

11/25/2012 at 07:29AM

35
#15 - Anthony Gargiulo / @argargablar

11/27/2012 at 01:25PM

36
#16 - Tim Chase / @gumnos

11/24/2012 at 04:59PM

36
#17 - Vasil Sakarov / @vsakarov

11/25/2012 at 12:46PM

38
#18 - Pete Johns / @johnsyweb

11/24/2012 at 07:47PM

38
#19 - Kai Yuan / @kentyuan

05/12/2013 at 03:02PM

39
#20 - Jonathan Kim / @jonnykim

08/27/2013 at 12:38PM

39
#21 - Nic West / @west_nic

06/24/2014 at 11:55AM

43
#22 - Asmund Liseth / @Asmund_L

12/23/2012 at 04:51PM

45
#23 - mhb / @mhbvim

11/24/2012 at 10:51PM

45
#24 - Kana Natsuno / @kana1

08/28/2013 at 02:08AM

45
#25 - Richard Jones / @metabrew

06/24/2014 at 11:44AM

46
#26 - David Barnett / @mu_mind

11/24/2012 at 06:12PM

47
#27 - Eric Andres / @eric_m_andres

12/04/2012 at 01:50PM

48
#28 - Rolf Bjaanes / @rolfb

11/24/2012 at 04:26PM

48
#29 - Pawel Obrok / @mrYapee

11/25/2012 at 09:51AM

48
#30 - David Escribano / @DavidEGx

06/24/2014 at 11:19AM

48
#31 - Alex Pounds / @acreature

06/24/2014 at 11:26AM

50
#32 - Tenor Biel / @TenorB

06/09/2013 at 06:33PM

50
#33 - Oliver Caldwell / @OliverCaldwell

06/24/2014 at 11:08AM