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 4d26f42298e8d72471000025

Generate English Alphabets

Start with a, get up to z.

Start file
a
End file
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

0a1,26
> 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
1a2,26
> 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 127 remaining solutions by signing in and submitting your own entry
#128 Mathias Bynens  / @mathias - Score: 27 - 04/08/11 @ 01:34
:set nf=alpha<CR>qayyp<C-A>q24@aZZ

0 comments

#129 Hervo Manuel / @Azema31 - Score: 27 - 05/18/11 @ 12:15
:set nf=alpha<CR>qayyp<C-A>q24@aZZ

0 comments

#130 Ian McCowan / @valrus - Score: 27 - 05/29/11 @ 12:09
:set nf=alpha<CR>qqyyp<C-A>q24@qZZ

0 comments

#131 Anton / @al_alley - Score: 27 - 07/29/11 @ 14:07
:set nf=alpha<CR>qayyp<C-A>q24@aZZ

0 comments

#132 cameron / @cameronaustgen - Score: 27 - 11/11/11 @ 14:05
:set nf=alpha<CR>qqyyp<C-A>q24@qZZ

0 comments

#133 Cody Veal / @cjhveal - Score: 27 - 02/05/12 @ 11:24
:set nf=alpha<CR>qayyp<C-A>q24@aZZ

0 comments

#134 Kevin Hamer / @khamer - Score: 28 - 01/19/11 @ 14:36
x:h<_<CR>jjYZQPJx^qqli<CR><Esc>q25@qZZ

0 comments

#135 4L41N / @4L41N1 - Score: 28 - 11/20/12 @ 06:27
:se<Tab> nrf<Tab>=alpha<CR>qqYp<C-A>q24@qZZ

0 comments

#136 Gavrie Philipson / @gavrieph - Score: 30 - 01/10/11 @ 03:34
:set nf=alpha<CR>qaYp<C-A><Esc>q24@a<Esc>:wq<CR>

0 comments

#137 Quota / @Quotad - Score: 35 - 01/10/14 @ 08:28
qqo<C-R>=nr2char(96+line('.'))<CR><Esc>q24@qZZ

0 comments

#138 Josh Weinberg / @jcweinberg - Score: 37 - 01/07/11 @ 05:40
abcdefghijklm<Esc>Ypg?$kJx$qqi<CR><Esc>geq24@qZZ

@jcweinberg: This is the one true way to do this ;)

@sharat87: g? <-- amazing use

2 comments

#139 Sven Eigenbrodt / @rompetroll - Score: 37 - 02/04/11 @ 07:24
Y25p:%s/a/\=nr2char(line(".")+96)/<CR>ZZ

0 comments

#140 Hu Junfeng / @junfeng - Score: 38 - 07/30/11 @ 07:30
qqylo<C-R>=nr2char(char2nr(@")+1)<CR><Esc>q24@qZZ

0 comments

#141 Thomas Schönwälder / @Masei1988 - Score: 38 - 06/02/12 @ 11:54
abcdefghijklm<Esc>Ypg??kJx:s/\w/&<C-V><CR>/g<CR>ddZZ

0 comments

#142 Shrikant Sharat / @sharat87 - Score: 39 - 01/08/11 @ 06:12
!!seq 97 122<CR>qqC<C-R>=nr2char(<C-R>")<CR><Esc>jq99@qZZ

@insti_vimgolf: I like this one.

1 comment

#143 Lee Marlow / @lmarlow - Score: 42 - 01/07/11 @ 09:03
:pu=map(range(98,122),'nr2char(v:val)')<CR>ZZ

0 comments

#144 Beau Dacious / @nocash - Score: 42 - 03/20/11 @ 08:39
Abcdefghijklmnopqrstuvwxyz<Esc>:s/./&\r/g<CR>ddZZ

0 comments

#145 Glen / @Glen_S - Score: 42 - 07/24/12 @ 00:38
abcdefghijklmnopqrstuvwxyz<Esc>:s/./&<C-V><CR>/g<CR>ddZZ

0 comments

#146 Solomon White / @rubysolo - Score: 45 - 01/08/11 @ 10:51
abcdefghijklm<Esc>Ypg?$:%s/\(.\)/\1<C-V><CR>/g<CR>dd14GddZZ

0 comments

#147 Piotr Ślatała / @pslapsla - Score: 48 - 04/25/11 @ 08:21
abcdefghijklmnopqrstuvwxyz<Esc>:%s%\(.\)%\1\r%g<CR>ddZZ

0 comments

#148 Matt / @meagar - Score: 52 - 09/07/11 @ 13:21
abcdefghijklmnopqrstuvwxyz<Esc>:s/\(.\)/\r\1/g<CR>:1<CR>dd:wq<CR>

0 comments

#149 Andrew Ardill / @AndrewArdill - Score: 53 - 05/31/12 @ 18:47
ob<CR>c<CR>d<CR>e<CR>f<CR>g<CR>h<CR>i<CR>j<CR>k<CR>l<CR>m<CR>n<CR>o<CR>p<CR>q<CR>r<CR>s<CR>t<CR>u<CR>v<CR>w<CR>x<CR>y<CR>z<Esc>ZZ

0 comments

#150 Kylan Robinson / @kylan - Score: 54 - 01/09/11 @ 08:39
a<CR>b<CR>c<CR>d<CR>e<CR>f<CR>g<CR>h<CR>i<CR>j<CR>k<CR>l<CR>m<CR>n<CR>o<CR>p<CR>q<CR>r<CR>s<CR>t<CR>u<CR>v<CR>w<CR>x<CR>y<CR>z<Esc>ZZ

0 comments

#151 Viktor Jackson / @AntiStalinista - Score: 54 - 05/05/12 @ 01:48
o<Esc>:for i in range(98,122)|put=nr2char(i)|endfor<CR>2GddZZ

0 comments

#152 R. P. Fainmen / @4loops - Score: 55 - 01/07/11 @ 12:47
ob<CR>c<CR>d<CR>e<CR>f<CR>g<CR>h<CR>i<CR>j<CR>k<CR>l<CR>m<CR>n<CR>o<CR>p<CR>q<CR>r<CR>s<CR>t<CR>u<CR>v<CR>w<CR>x<CR>y<CR>z<Esc>:wq<CR>

0 comments

#153 Steve Tan / @stevetantan - Score: 55 - 01/17/11 @ 19:59
ob<CR>c<CR>d<CR>e<CR>f<CR>g<CR>h<CR>i<CR>j<CR>k<CR>l<CR>m<CR>n<CR>o<CR>p<CR>q<CR>r<CR>s<CR>t<CR>u<CR>v<CR>w<CR>x<CR>y<CR>z<Esc>:wq<CR>

0 comments

#154 Rūdolfs Ošiņš / @rudolfs - Score: 55 - 02/25/11 @ 22:14
ob<CR>c<CR>d<CR>e<CR>f<CR>g<CR>h<CR>i<CR>j<CR>k<CR>l<CR>m<CR>n<CR>o<CR>p<CR>q<CR>r<CR>s<CR>t<CR>u<CR>v<CR>w<CR>x<CR>y<CR>z<CR><BS><Esc>ZZ

0 comments

#155 Carlos Troncoso / @carlostph - Score: 60 - 01/13/11 @ 16:05
abcdefghijklmnopqrstuvwxyz<Esc>:%s/\(\a\)\(\a\)/\1<C-V><CR>\2/g<CR>:<Up><CR>:wq<CR>

0 comments

#156 Roman / @RMNXrc - Score: 64 - 01/21/11 @ 10:10
ai<BS><CR>b<CR>v<BS>c<CR>d<CR>e<CR>f<CR>g<CR>h<CR>i<CR>j<CR>k<CR>l<CR>m<CR>n<CR>o<CR>p<CR>q<CR>r<CR>s<CR>t<CR>u<CR>v<CR>w<CR>x<CR>y<CR>z<CR><BS><Esc>:w<CR>:q<CR>

0 comments

#157 Bryan Liles (ツ) / @bryanl - Score: 79 - 01/07/11 @ 05:15
obo<BS><CR>c<CR>d<CR>d<Left><C-X><Right><Left><C-X><Right><Left><C-A>u<BS><BS><BS><BS><BS><BS><BS><BS>e<CR>f<CR>g<CR>h<CR>i<CR>j<CR>k<CR>l<CR>m<CR>n<CR>o<CR>p<CR>q<CR>r<CR>s<CR>t<CR>u<CR>v<CR>w<CR>x<CR>y<CR>z<Esc>:<Esc>kjlxZZ

@bryanl: spelunking through vimgolf's internals

1 comment

#158 Евгений Грачев / @EugeneGrachev - Score: 79 - 04/28/11 @ 01:10
i<End><CR>bc<BS><CR>c<CR>d<CR>e<BS><BS><BS><BS><BS><BS><BS><BS><BS><BS><BS><BS><BS>a<CR>b<CR>c<CR>d<CR>e<CR>f<CR>g<CR>h<CR>i<CR>j<CR>k<CR>l<CR>m<CR>n<CR>o<CR>p<CR>q<CR>r<CR>s<CR>t<CR>u<CR>v<CR>w<CR>x<CR>y<CR>z<Esc>ZZ

0 comments

#159 Douglas Gibb / @douglasgibb - Score: 83 - 04/05/11 @ 12:16
ob<Esc>oc<Esc>od<Esc>oe<Esc>of<Esc>og<Esc>oh<Esc>oi<Esc>oh<BS>j<Esc>ok<Esc>ol<Esc>om<Esc>on<Esc>oo<Esc>op<Esc>oq<Esc>or<Esc>os<Esc>ot<Esc>ou<Esc>ov<Esc>ow<Esc>ox<Esc>oy<Esc>oz<Esc>:w<CR>:q<CR>

0 comments

Created by: @Ujjwol

159 active golfers, 328 entries

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

07/21/2012 at 08:16PM

23
#2 - Frank Twitting / @knarfben

07/23/2012 at 09:01AM

23
#3 - Petro Тrouq / @zulolosi

06/04/2013 at 11:49AM

23
#4 - Vu Le / @lbkvu

01/29/2014 at 12:17AM

23
#5 - John Braxler / @braxler

05/18/2014 at 11:22AM

24
#6 - Tim Chase / @gumnos

01/07/2011 at 07:44AM

24
#7 - Wei Dai / @clvv42

01/07/2011 at 01:28PM

24
#8 - derp derp / @derp__

01/07/2011 at 05:15PM

24
#9 - Ujjwol Lamichhane / @Ujjwol

01/07/2011 at 09:30PM

24
#10 - Oleg Roshupkin / @jjjahson

01/08/2011 at 12:06AM

24
#11 - dominique pellé / @vimgolfisto

01/08/2011 at 12:18AM

24
#12 - Paul Tarjan / @ptarjan

01/08/2011 at 02:15AM

24
#13 - Balkoth / @_Balkoth_

01/08/2011 at 07:59AM

24
#14 - Douglas Stockwell / @dstockwell

01/08/2011 at 01:07PM

24
#15 - Utkarsh Kukreti / @utkarshkukreti

01/08/2011 at 04:10PM

24
#16 - Thedward the Edward / @thedward

01/11/2011 at 10:03AM

24
#17 - Henri Bourcereau / @mmai

01/15/2011 at 08:42AM

24
#18 - Ilya Ermolin / @ermolinis

01/16/2011 at 03:22AM

24
#19 - Stuart Gale / @bishboria

01/16/2011 at 05:32AM

24
#20 - Andrey A. Ugolnik / @andreyugolnik

01/19/2011 at 09:30AM

24
#21 - Insti / @insti_vimgolf

01/19/2011 at 07:07PM

24
#22 - iCross / @iCrossOfficial

02/01/2011 at 06:50AM

24
#23 - vg / @vimgolfer

02/27/2011 at 02:28PM

24
#24 - Misha (Mike) Granin / @Granin

03/14/2011 at 06:08AM

24
#25 - Andrew Dorman / @andydorman

03/21/2011 at 09:15AM

24
#26 - Raeez / @raeez

04/13/2011 at 09:34PM

24
#27 - Sebastian Morr / @blinry

04/28/2011 at 01:34PM

24
#28 - Dragan Cvetinovic / @kawkafi

05/06/2011 at 02:44PM

24
#29 - not so punk :] / @notsopunk

06/19/2011 at 06:48AM

24
#30 - Peter Anselmo / @peter_anselmo

06/23/2011 at 10:27AM

24
#31 - Johan Sveholm / @rymdtjuren

06/30/2011 at 12:51AM

24
#32 - Siegfried Idyll / @siegfriedidyll

07/02/2011 at 06:52PM

24
#33 - Justin Love / @wondible

08/26/2011 at 07:51AM

24
#34 - You-Siang Lin / @yslinnctu

11/30/2011 at 11:49PM

24
#35 - Trevor Powell / @DoomedBunnies

12/06/2011 at 07:50PM

24
#36 - Jakub Arnold / @darthdeus

12/19/2011 at 08:34AM

24
#37 - Renat Aksitov / @Korvin79

02/08/2012 at 01:37PM

24
#38 - Federico Galassi / @federicogalassi

02/22/2012 at 10:30AM

24
#39 - Dmitry Olyenyov / @Dmitry_Olyenyov

08/22/2012 at 03:41AM

24
#40 - GimVolfer VimGolfer / @GimGol

04/23/2014 at 12:47AM

24
#41 - Rasmus P / @rasmup

04/26/2014 at 09:12AM

25
#42 - Henrik Nyh / @henrik

01/07/2011 at 03:21AM

25
#43 - Brian Buckley / @bbuckley

01/07/2011 at 04:17AM

25
#44 - Jim Garvin / @coderifous

01/07/2011 at 05:17AM

25
#45 - James Cash / @jamesnvc

01/07/2011 at 06:03AM

25
#46 - Mattiassich Ákos / @mattiassicha

01/07/2011 at 06:09AM

25
#47 - h_east (DDD ready) / @h_east

01/07/2011 at 06:27AM

25
#48 - Johannes Martinsson / @moxiba

01/07/2011 at 10:52AM

25
#49 -  Ikhsan Maulana / @ixandidu

01/07/2011 at 10:59AM

25
#50 - Stephen Morrow / @yawmark

01/07/2011 at 11:06AM

25
#51 - Pete Johns / @johnsyweb

01/07/2011 at 02:22PM

25
#52 - Przemysław Pawełczyk / @przemoc86

01/07/2011 at 03:22PM

25
#53 - rabidpraxis / @rabidpraxis

01/07/2011 at 03:50PM

25
#54 - William Shackleton / @wshackleton

01/07/2011 at 05:08PM

25
#55 - Paul King / @nrocy

01/08/2011 at 02:15AM

25
#56 - Stephan Weller / @stephan_weller

01/08/2011 at 06:00AM

25
#57 - Victor Vaile / @victorv4_

01/08/2011 at 02:02PM

25
#58 - aaaa3331 / @aaaa3331

01/08/2011 at 02:21PM

25
#59 - alex scott / @4l3xsc0tt

01/10/2011 at 05:44AM

25
#60 - Agus Lopez / @aguslr

01/10/2011 at 12:27PM

25
#61 - Wonha Ryu / @beingryu

01/10/2011 at 10:01PM

25
#62 - Aaron Bull Schaefer / @elasticdog

01/11/2011 at 10:09AM

25
#63 - Benoît Ryder / @benoitryder

01/11/2011 at 12:46PM

25
#64 - Clive Evans / @swish_bob

01/13/2011 at 01:51PM

25
#65 - Eivind Jahren / @HaskellElephant

01/15/2011 at 09:46AM

25
#66 - Ben Sinclair / @muppling

01/17/2011 at 04:25AM

25
#67 - Soliman Sylvain / @sylvain_soliman

01/17/2011 at 09:07AM

25
#68 - lemming / @darthlemming

01/18/2011 at 11:31AM

25
#69 - SirVer / @SirVerII

01/23/2011 at 06:21AM

25
#70 - Matthieu Honel / @ocus

01/29/2011 at 07:30AM

25
#71 - Antony Scriven / @antonyscriven

02/06/2011 at 04:55PM

25
#72 - Arthur Chiu / @arthur_chiu

02/11/2011 at 08:53PM

25
#73 - Joost / @vlabakje

02/13/2011 at 08:41AM

25
#74 - Yannis Chatzimichos / @feedward

04/14/2011 at 11:56AM

25
#75 - Ilya Strukov / @i1ey

05/02/2011 at 01:20AM

25
#76 - dtennant / @dtennant

06/06/2011 at 10:42AM

25
#77 - Emile Swarts / @EmileSwarts

06/09/2011 at 01:42PM

25
#78 - Dave / @zzdave13

07/16/2011 at 10:14AM

25
#79 - Jesús Espino / @jespinog

09/06/2011 at 09:33AM

25
#80 - jasper110 / @jasper110

09/22/2011 at 01:55AM

25
#81 - William Dunand / @wdunand

11/15/2011 at 12:19AM

25
#82 - Andrew Flockhart / @andruflockhart

12/13/2011 at 02:46PM

25
#83 - Xavier Nayrac / @lkdjiin

01/07/2012 at 11:42AM

25
#84 - Pei-Lun Lee / @ypcatw

02/02/2012 at 08:55PM

25
#85 - 無ん垢の叫び / @john_ababa

02/25/2012 at 11:58PM

25
#86 - kurban / @kurban_mall

05/06/2012 at 01:43AM

25
#87 - Ben Friedland / @bfriedland174

05/21/2012 at 04:10AM

25
#88 - ☈king / @SharpsawDotOrg

06/09/2012 at 09:55PM

25
#89 - mwatkward / @AftrschoolSpe

07/06/2012 at 05:12AM

25
#90 - Salvador / @smastermind

08/17/2012 at 12:32AM

25
#91 - Théophile Wallez / @twallez

08/23/2012 at 03:40PM

25
#92 - Arto Vuori / @dhpe

09/01/2012 at 10:46AM

25
#93 - tmr / @tmr314

09/11/2012 at 06:33AM

25
#94 - a24f0600 / @a24f0600

11/20/2012 at 06:16AM

25
#95 - Marcin Sza / @coot_

12/05/2012 at 04:05AM

25
#96 - Michael / @patheticpat

12/17/2012 at 01:19PM

25
#97 - Kerson Hsiao / @KersonHsiao

03/23/2013 at 08:06AM

25
#98 - kiyofumi.kmt / @kumack55

04/09/2013 at 06:38PM

25
#99 - Marco Hinz / @_mhinz_

05/28/2013 at 01:26AM

25
#100 - James / @Dronak

09/02/2013 at 07:33PM

25
#101 - brett / @brettyukich

09/30/2013 at 01:31AM

25
#102 - cj / @cj01101

10/18/2013 at 03:27PM

25
#103 - foo / @foo88832727

10/19/2013 at 10:27AM

25
#104 - pikaren / @REALpikaren

01/23/2014 at 04:12AM

25
#105 - Joonas Pihlajamaa / @jokkebk

02/21/2014 at 04:04AM

25
#106 - Marchand Paul-Valère / @pvmarch

03/03/2014 at 06:47AM

25
#107 - Felipe Jaramillo F / @mrfelipe

05/03/2014 at 09:44AM

25
#108 - Caek / @Caek_

09/09/2014 at 09:19PM

26
#109 - Asmund Liseth / @Asmund_L

01/07/2011 at 09:49AM

26
#110 - Francisco Dibar / @frandibar

01/07/2011 at 11:29AM

26
#111 - Gael / @darkael2

01/07/2011 at 05:03PM

26
#112 - Tien Le / @tienlex

01/09/2011 at 05:29AM

26
#113 - Cameron Jordan / @cameronism

01/11/2011 at 09:28AM

26
#114 - Andrew Burgess / @andrew8088

01/17/2011 at 11:21AM

26
#115 - Eric Weikl / @ericweikl

01/17/2011 at 01:16PM

26
#116 - drio / @drio

01/17/2011 at 04:06PM

26
#117 - Michał Taszycki / @mehowte

01/24/2011 at 03:48AM

26
#118 - dschobel / @dschobel

02/16/2011 at 06:12AM

26
#119 - Rocky Meza / @rockymeza

03/05/2011 at 12:38PM

26
#120 - Nomen Nescio / @vadtusan

04/13/2011 at 04:43AM

26
#121 - wusher / @wusher

05/31/2011 at 06:51PM

26
#122 - Stanley Wang / @stanleynwang

07/19/2011 at 11:48AM

26
#123 - Daniel Lundin / @danielundin

12/14/2011 at 08:34AM

27
#124 - aimee / @sermoa

01/07/2011 at 03:17AM

27
#125 - Matthew Draper / @_matthewd

01/07/2011 at 05:06AM

27
#126 - Geoff Reedy / @gereedy

01/07/2011 at 01:36PM

27
#127 - paulfariello / @paulfariello

03/07/2011 at 08:45AM

27
#128 - Mathias Bynens  / @mathias

04/08/2011 at 01:34AM

27
#129 - Hervo Manuel / @Azema31

05/18/2011 at 12:15PM

27
#130 - Ian McCowan / @valrus

05/29/2011 at 12:09PM

27
#131 - Anton / @al_alley

07/29/2011 at 02:07PM

27
#132 - cameron / @cameronaustgen

11/11/2011 at 02:05PM

27
#133 - Cody Veal / @cjhveal

02/05/2012 at 11:24AM

28
#134 - Kevin Hamer / @khamer

01/19/2011 at 02:36PM

28
#135 - 4L41N / @4L41N1

11/20/2012 at 06:27AM

30
#136 - Gavrie Philipson / @gavrieph

01/10/2011 at 03:34AM

35
#137 - Quota / @Quotad

01/10/2014 at 08:28AM

37
#138 - Josh Weinberg / @jcweinberg

01/07/2011 at 05:40AM

37
#139 - Sven Eigenbrodt / @rompetroll

02/04/2011 at 07:24AM

38
#140 - Hu Junfeng / @junfeng

07/30/2011 at 07:30AM

38
#141 - Thomas Schönwälder / @Masei1988

06/02/2012 at 11:54AM

39
#142 - Shrikant Sharat / @sharat87

01/08/2011 at 06:12AM

42
#143 - Lee Marlow / @lmarlow

01/07/2011 at 09:03AM

42
#144 - Beau Dacious / @nocash

03/20/2011 at 08:39AM

42
#145 - Glen / @Glen_S

07/24/2012 at 12:38AM

45
#146 - Solomon White / @rubysolo

01/08/2011 at 10:51AM

48
#147 - Piotr Ślatała / @pslapsla

04/25/2011 at 08:21AM

52
#148 - Matt / @meagar

09/07/2011 at 01:21PM

53
#149 - Andrew Ardill / @AndrewArdill

05/31/2012 at 06:47PM

54
#150 - Kylan Robinson / @kylan

01/09/2011 at 08:39AM

54
#151 - Viktor Jackson / @AntiStalinista

05/05/2012 at 01:48AM

55
#152 - R. P. Fainmen / @4loops

01/07/2011 at 12:47PM

55
#153 - Steve Tan / @stevetantan

01/17/2011 at 07:59PM

55
#154 - Rūdolfs Ošiņš / @rudolfs

02/25/2011 at 10:14PM

60
#155 - Carlos Troncoso / @carlostph

01/13/2011 at 04:05PM

64
#156 - Roman / @RMNXrc

01/21/2011 at 10:10AM

79
#157 - Bryan Liles (ツ) / @bryanl

01/07/2011 at 05:15AM

79
#158 - Евгений Грачев / @EugeneGrachev

04/28/2011 at 01:10AM

83
#159 - Douglas Gibb / @douglasgibb

04/05/2011 at 12:16PM