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):
P1000007_normal
6
#1 - h_east (DDD ready) / @h_east

09/15/2012 at 10:42AM

8jw8rf36zi203qjp65nq_normal
6
#2 - Ryan / @devops_yeoman

09/15/2012 at 10:58AM

Ewbdmdtg_normal
6
#3 - Tim Chase / @gumnos

09/15/2012 at 11:24AM

Gravatar-fedora_normal
6
#4 - ralphbean / @ralphbean

09/15/2012 at 02:48PM

Ba1070d8841ff40257904144ae3db536_normal
6
#5 - Ravi S Sinha / @ambidextrousTx

09/15/2012 at 06:42PM

Screen_shot_2011-03-22_at_12.33.36_pm_normal
6
#6 - Joachim / @jodles89

09/15/2012 at 07:13PM

Default_profile_1_normal
6
#7 - tmr / @tmr314

09/16/2012 at 02:54AM

4654945923_eb2c60ee5f_normal
6
#8 - Kerson Hsiao / @KersonHsiao

09/16/2012 at 04:57AM

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

09/16/2012 at 05:59AM

Default_profile_1_normal
6
#10 - Christian Nilsson / @klambycom

09/16/2012 at 06:56AM

40051_789281885907_29616532_44170636_2091417_n_normal
6
#11 - Conner McDaniel / @connermcd

09/16/2012 at 06:03PM

Jlove201003sq_normal
6
#12 - Justin Love / @wondible

09/16/2012 at 09:07PM

Default_profile_0_normal
6
#13 - Nicholas Amina / @apolatg

09/20/2012 at 08:49PM

Me_old_brown_normal
6
#14 - Anthony DiGirolamo / @anthonysavatar

09/21/2012 at 05:55AM

Default_profile_4_normal
6
#15 - mnx / @mnxx

09/21/2012 at 07:46AM

Astro_seek_normal
6
#16 - Sebastian Kusnier / @skusnier

09/22/2012 at 06:35AM

Q6hrg93p4r3hn56thmd0_normal
6
#17 - Urtica dioica / @udioica

09/25/2012 at 04:19AM

Bunnies_normal
6
#18 - Trevor Powell / @DoomedBunnies

09/25/2012 at 11:01PM

Image_normal
6
#19 - Gregor Schmidt / @schmidtwisser

09/27/2012 at 01:32AM

Default_profile_1_normal
6
#20 - Johannes Kulick / @hildensia

09/28/2012 at 02:02AM

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

09/28/2012 at 02:34AM

Fratze2_normal
6
#22 - Carsten Zimmermann / @carpgezwitscher

09/28/2012 at 01:09PM

42cefc7a326f4c52518f586ac1e73391_normal
6
#23 - Marek Kalnik / @marekkalnik

09/29/2012 at 09:18AM

Dsc_0096_2_normal
6
#24 - Victor Ramirez / @virako

09/30/2012 at 08:16AM

Af3be16bb6a6dc7c7061fecdcf97d56b_normal
6
#25 - Vim rocks / @vimrocks

10/07/2012 at 07:20AM

67d46cfa5ebf6b678b09b19c1d379e5c_normal
6
#26 - Radek / @qrczeno

10/09/2012 at 05:23AM

777416d9-e981-418c-bc95-ec835da30354_normal
6
#27 - Trever Marshall / @dynamic_library

10/12/2012 at 04:17PM

C0b6948159226d38499a61ceedae5f05_normal
6
#28 - Joseph Reddington / @joereddington

10/23/2012 at 10:32AM

Default_profile_6_normal
6
#29 - crater / @crater2150

10/25/2012 at 04:29AM

Thunderbird_avatar_normal
6
#30 - Chaos / @gbchaosmaster

10/28/2012 at 05:10PM

Untitled-1_normal
6
#31 - Chase Stubblefield / @sterlingchase

10/29/2012 at 08:41PM

Img_7708-crop_normal
6
#32 - Mathias Rav / @iaddquotes

11/13/2012 at 03:07PM

Profilepic_normal
6
#33 - Eric Andres / @eric_m_andres

12/07/2012 at 10:40AM

O78a2ujeqbyrqkgsuto8_normal
6
#34 - Alex Hammel / @AlexJHammel

12/24/2012 at 06:31AM

Default_profile_5_normal
6
#35 - XGOLFER / @vimg0lfer

01/04/2013 at 07:16PM

17350f0029adc263997f9812deee55bb_normal
6
#36 - Zach Kelling / @zeekay

02/23/2013 at 12:33AM

7bbd949b345fcbcfd812b231aed89f99_normal
6
#37 - Marco Hinz / @_mhinz_

05/24/2013 at 10:43AM

Arcadia_avatar_normal
6
#38 - James / @Dronak

09/05/2013 at 01:33PM

Default_profile_3_normal
6
#39 - yaon / @yaon4

09/09/2013 at 09:02AM

Default_profile_3_normal
6
#40 - Fernando Axel Ellis / @Axel_Ellis

09/26/2013 at 01:26PM

Droideye_normal
6
#41 - Joe T / @h2g2guy

10/31/2013 at 11:36PM

Netti_pihlajo1_lthumb_normal
6
#42 - Joonas Pihlajamaa / @jokkebk

03/21/2014 at 05:53AM

Avatar_normal
6
#43 - MaienM / @MaienM

06/02/2014 at 06:09PM

Pic2_normal
6
#44 - Caek / @Caek_

08/17/2014 at 08:30PM

Btajjt8p_normal
6
#45 - Dmitriy / @_dpy_

08/21/2014 at 06:01AM

8ig-egq0_normal
6
#46 - John Braxler / @braxler

08/26/2014 at 10:33AM

D599d5b47b4a2b0db73f765021699812_normal
6
#47 - Justin Knag / @justinknag

09/22/2014 at 07:09AM

0i1xqtsxuil3jrbv37j1_normal
7
#48 - Jon Cairns / @joonty

10/05/2012 at 04:40AM

Legalities2_normal
8
#49 - Angus Fletcher / @angusiguess

10/19/2012 at 09:05AM

Default_profile_4_normal
11
#50 - Rob Grijs / @robgrijs

10/14/2012 at 09:10AM

Knittingstash_240dpi_72x72_normal
25
#51 - Underhill Labs / @underhilllabs

10/30/2012 at 09:40PM

97f3d9381e897b353007c606a12a2ff1_normal
34
#52 - JJ Asghar / @jjasghar

09/18/2012 at 09:47AM