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 5054bb26fa0b39000200002b

SFD-ROC: ROT13 Phonics

A is for apple, b is for ball, etc... This familiar phonics poem has been rotated 13 characters. Make the letter match the word.

Start file
n is for alsamixer
o is for bash
p is for cat
q is for dmesg
r is for echo
s is for find
t is for grep
u is for htop
v is for ifconfig
w is for jobs
x is for killall
y is for less
z is for mkdir
a is for nethack
b is for octocat
c is for ping
d is for quiz
e is for rm
f is for scp
g is for time
h is for unzip
i is for vim
j is for wget
k is for xteddy
l is for yes
m is for zip
End file
a is for alsamixer
b is for bash
c is for cat
d is for dmesg
e is for echo
f is for find
g is for grep
h is for htop
i is for ifconfig
j is for jobs
k is for killall
l is for less
m is for mkdir
n is for nethack
o is for octocat
p is for ping
q is for quiz
r is for rm
s is for scp
t is for time
u is for unzip
v is for vim
w is for wget
x is for xteddy
y is for yes
z is for zip

View Diff

1,26c1,26
< n is for alsamixer
< o is for bash
< p is for cat
< q is for dmesg
< r is for echo
< s is for find
< t is for grep
< u is for htop
< v is for ifconfig
< w is for jobs
< x is for killall
< y is for less
< z is for mkdir
< a is for nethack
< b is for octocat
< c is for ping
< d is for quiz
< e is for rm
< f is for scp
< g is for time
< h is for unzip
< i is for vim
< j is for wget
< k is for xteddy
< l is for yes
< m is for zip
---
> a is for alsamixer
> b is for bash
> c is for cat
> d is for dmesg
> e is for echo
> f is for find
> g is for grep
> h is for htop
> i is for ifconfig
> j is for jobs
> k is for killall
> l is for less
> m is for mkdir
> n is for nethack
> o is for octocat
> p is for ping
> q is for quiz
> r is for rm
> s is for scp
> t is for time
> u is for unzip
> v is for vim
> w is for wget
> x is for xteddy
> y is for yes
> z is for zip

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 43 remaining solutions by signing in and submitting your own entry
#44 Caek / @Caek_ - Score: 6 - 08/18/14 @ 03:30
<C-V>Gg?ZZ

0 comments

#45 Dmitriy / @_dpy_ - Score: 6 - 08/21/14 @ 13:01
<C-V>Gg?ZZ

0 comments

#46 John Braxler / @braxler - Score: 6 - 08/26/14 @ 17:33
<C-V>Gg?ZZ

0 comments

#47 Justin Knag / @justinknag - Score: 6 - 09/22/14 @ 14:09
<C-V>Gg?ZZ

0 comments

#48 Yannic Haupenthal / @yhaupenthal - Score: 6 - 03/01/15 @ 10:53
<C-V>Gg?ZZ

0 comments

#49 Matthieu Crapet / @mcr05 - Score: 6 - 03/06/15 @ 20:15
<C-V>Gg?ZZ

0 comments

#50 Jon Cairns / @joonty - Score: 7 - 10/05/12 @ 11:40
<C-V>Gg?:x<CR>

0 comments

#51 Angus Fletcher / @angusiguess - Score: 8 - 10/19/12 @ 16:05
<C-V>Gg?:wq<CR>

0 comments

#52 Rob Grijs / @robgrijs - Score: 11 - 10/14/12 @ 16:10
<C-V>Gd9|.P0PZZ

0 comments

#53 Underhill Labs / @underhilllabs - Score: 25 - 10/31/12 @ 04:40
3e<C-V>bG<Right><Right><Right><Right><Right><Right><Right><Right><Right>d:sort<CR>$pZZ

0 comments

#54 JJ Asghar / @jjasghar - Score: 34 - 09/18/12 @ 16:47
:!sort -n<CR><Esc><Esc>:<C-V>g<BS>Gg+<BS>?<CR><Esc><Esc><C-V>Gg?<Esc><Esc>:wq<CR>

0 comments

Created by: @Remy_D

54 active golfers, 66 entries

Leaderboard (lowest score wins):
6
#1 - h_east (DDD ready) / @h_east

09/15/2012 at 05:42PM

6
#2 - Ryan / @devops_yeoman

09/15/2012 at 05:58PM

6
#3 - Tim Chase / @gumnos

09/15/2012 at 06:24PM

6
#4 - ralphbean / @ralphbean

09/15/2012 at 09:48PM

6
#5 - Ravi S Sinha / @ambidextrousTx

09/16/2012 at 01:42AM

6
#6 - Joachim / @jodles89

09/16/2012 at 02:13AM

6
#7 - tmr / @tmr314

09/16/2012 at 09:54AM

6
#8 - Kerson Hsiao / @KersonHsiao

09/16/2012 at 11:57AM

6
#9 - 無ん垢の叫び / @john_ababa

09/16/2012 at 12:59PM

6
#10 - Christian Nilsson / @klambycom

09/16/2012 at 01:56PM

6
#11 - Conner McDaniel / @connermcd

09/17/2012 at 01:03AM

6
#12 - Justin Love / @wondible

09/17/2012 at 04:07AM

6
#13 - Nicholas Amina / @apolatg

09/21/2012 at 03:49AM

6
#14 - Anthony DiGirolamo / @anthonysavatar

09/21/2012 at 12:55PM

6
#15 - mnx / @mnxx

09/21/2012 at 02:46PM

6
#16 - Sebastian Kusnier / @skusnier

09/22/2012 at 01:35PM

6
#17 - Urtica dioica / @udioica

09/25/2012 at 11:19AM

6
#18 - Trevor Powell / @DoomedBunnies

09/26/2012 at 06:01AM

6
#19 - Gregor Schmidt / @schmidtwisser

09/27/2012 at 08:32AM

6
#20 - Johannes Kulick / @hildensia

09/28/2012 at 09:02AM

6
#21 - Loki, Ng Ka Long / @loki_nkl

09/28/2012 at 09:34AM

6
#22 - Carsten Zimmermann / @carpgezwitscher

09/28/2012 at 08:09PM

6
#23 - Marek Kalnik / @marekkalnik

09/29/2012 at 04:18PM

6
#24 - Victor Ramirez / @virako

09/30/2012 at 03:16PM

6
#25 - Vim rocks / @vimrocks

10/07/2012 at 02:20PM

6
#26 - Radek / @qrczeno

10/09/2012 at 12:23PM

6
#27 - Trever Marshall / @dynamic_library

10/12/2012 at 11:17PM

6
#28 - Joseph Reddington / @joereddington

10/23/2012 at 05:32PM

6
#29 - crater / @crater2150

10/25/2012 at 11:29AM

6
#30 - Chaos / @gbchaosmaster

10/29/2012 at 12:10AM

6
#31 - Chase Stubblefield / @sterlingchase

10/30/2012 at 03:41AM

6
#32 - Mathias Rav / @iaddquotes

11/13/2012 at 11:07PM

6
#33 - Eric Andres / @eric_m_andres

12/07/2012 at 06:40PM

6
#34 - Alex Hammel / @AlexJHammel

12/24/2012 at 02:31PM

6
#35 - XGOLFER / @vimg0lfer

01/05/2013 at 03:16AM

6
#36 - Zach Kelling / @zeekay

02/23/2013 at 08:33AM

6
#37 - Marco Hinz / @_mhinz_

05/24/2013 at 05:43PM

6
#38 - James / @Dronak

09/05/2013 at 08:33PM

6
#39 - yaon / @yaon4

09/09/2013 at 04:02PM

6
#40 - Fernando Axel Ellis / @Axel_Ellis

09/26/2013 at 08:26PM

6
#41 - Joe T / @h2g2guy

11/01/2013 at 06:36AM

6
#42 - Joonas Pihlajamaa / @jokkebk

03/21/2014 at 12:53PM

6
#43 - MaienM / @MaienM

06/03/2014 at 01:09AM

6
#44 - Caek / @Caek_

08/18/2014 at 03:30AM

6
#45 - Dmitriy / @_dpy_

08/21/2014 at 01:01PM

6
#46 - John Braxler / @braxler

08/26/2014 at 05:33PM

6
#47 - Justin Knag / @justinknag

09/22/2014 at 02:09PM

6
#48 - Yannic Haupenthal / @yhaupenthal

03/01/2015 at 10:53AM

6
#49 - Matthieu Crapet / @mcr05

03/06/2015 at 08:15PM

7
#50 - Jon Cairns / @joonty

10/05/2012 at 11:40AM

8
#51 - Angus Fletcher / @angusiguess

10/19/2012 at 04:05PM

11
#52 - Rob Grijs / @robgrijs

10/14/2012 at 04:10PM

25
#53 - Underhill Labs / @underhilllabs

10/31/2012 at 04:40AM

34
#54 - JJ Asghar / @jjasghar

09/18/2012 at 04:47PM