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 41 remaining solutions by signing in and submitting your own entry
#42 Joonas Pihlajamaa / @jokkebk - Score: 6 - 03/21/14 @ 05:53
<C-V>Gg?ZZ

0 comments

#43 MaienM / @MaienM - Score: 6 - 06/02/14 @ 18:09
<C-V>Gg?ZZ

0 comments

#44 Caek / @Caek_ - Score: 6 - 08/17/14 @ 20:30
<C-V>Gg?ZZ

0 comments

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

0 comments

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

0 comments

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

0 comments

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

0 comments

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

0 comments

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

0 comments

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

0 comments

#52 JJ Asghar / @jjasghar - Score: 34 - 09/18/12 @ 09: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

52 active golfers, 64 entries

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

09/15/2012 at 10:42AM

6
#2 - Ryan / @devops_yeoman

09/15/2012 at 10:58AM

6
#3 - Tim Chase / @gumnos

09/15/2012 at 11:24AM

6
#4 - ralphbean / @ralphbean

09/15/2012 at 02:48PM

6
#5 - Ravi S Sinha / @ambidextrousTx

09/15/2012 at 06:42PM

6
#6 - Joachim / @jodles89

09/15/2012 at 07:13PM

6
#7 - tmr / @tmr314

09/16/2012 at 02:54AM

6
#8 - Kerson Hsiao / @KersonHsiao

09/16/2012 at 04:57AM

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

09/16/2012 at 05:59AM

6
#10 - Christian Nilsson / @klambycom

09/16/2012 at 06:56AM

6
#11 - Conner McDaniel / @connermcd

09/16/2012 at 06:03PM

6
#12 - Justin Love / @wondible

09/16/2012 at 09:07PM

6
#13 - Nicholas Amina / @apolatg

09/20/2012 at 08:49PM

6
#14 - Anthony DiGirolamo / @anthonysavatar

09/21/2012 at 05:55AM

6
#15 - mnx / @mnxx

09/21/2012 at 07:46AM

6
#16 - Sebastian Kusnier / @skusnier

09/22/2012 at 06:35AM

6
#17 - Urtica dioica / @udioica

09/25/2012 at 04:19AM

6
#18 - Trevor Powell / @DoomedBunnies

09/25/2012 at 11:01PM

6
#19 - Gregor Schmidt / @schmidtwisser

09/27/2012 at 01:32AM

6
#20 - Johannes Kulick / @hildensia

09/28/2012 at 02:02AM

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

09/28/2012 at 02:34AM

6
#22 - Carsten Zimmermann / @carpgezwitscher

09/28/2012 at 01:09PM

6
#23 - Marek Kalnik / @marekkalnik

09/29/2012 at 09:18AM

6
#24 - Victor Ramirez / @virako

09/30/2012 at 08:16AM

6
#25 - Vim rocks / @vimrocks

10/07/2012 at 07:20AM

6
#26 - Radek / @qrczeno

10/09/2012 at 05:23AM

6
#27 - Trever Marshall / @dynamic_library

10/12/2012 at 04:17PM

6
#28 - Joseph Reddington / @joereddington

10/23/2012 at 10:32AM

6
#29 - crater / @crater2150

10/25/2012 at 04:29AM

6
#30 - Chaos / @gbchaosmaster

10/28/2012 at 05:10PM

6
#31 - Chase Stubblefield / @sterlingchase

10/29/2012 at 08:41PM

6
#32 - Mathias Rav / @iaddquotes

11/13/2012 at 03:07PM

6
#33 - Eric Andres / @eric_m_andres

12/07/2012 at 10:40AM

6
#34 - Alex Hammel / @AlexJHammel

12/24/2012 at 06:31AM

6
#35 - XGOLFER / @vimg0lfer

01/04/2013 at 07:16PM

6
#36 - Zach Kelling / @zeekay

02/23/2013 at 12:33AM

6
#37 - Marco Hinz / @_mhinz_

05/24/2013 at 10:43AM

6
#38 - James / @Dronak

09/05/2013 at 01:33PM

6
#39 - yaon / @yaon4

09/09/2013 at 09:02AM

6
#40 - Fernando Axel Ellis / @Axel_Ellis

09/26/2013 at 01:26PM

6
#41 - Joe T / @h2g2guy

10/31/2013 at 11:36PM

6
#42 - Joonas Pihlajamaa / @jokkebk

03/21/2014 at 05:53AM

6
#43 - MaienM / @MaienM

06/02/2014 at 06:09PM

6
#44 - Caek / @Caek_

08/17/2014 at 08:30PM

6
#45 - Dmitriy / @_dpy_

08/21/2014 at 06:01AM

6
#46 - John Braxler / @braxler

08/26/2014 at 10:33AM

6
#47 - Justin Knag / @justinknag

09/22/2014 at 07:09AM

7
#48 - Jon Cairns / @joonty

10/05/2012 at 04:40AM

8
#49 - Angus Fletcher / @angusiguess

10/19/2012 at 09:05AM

11
#50 - Rob Grijs / @robgrijs

10/14/2012 at 09:10AM

25
#51 - Underhill Labs / @underhilllabs

10/30/2012 at 09:40PM

34
#52 - JJ Asghar / @jjasghar

09/18/2012 at 09:47AM