Real Vim ninjas count every keystroke - do you?

Pick a challenge, fire up Vim, and show us what you got.

Changelog, Rules & FAQ, updates: @vimgolf, RSS.

Your VimGolf key: please sign in

$ gem install vimgolf
$ vimgolf setup
$ vimgolf put 54df95a4a4b28331e9000003

Space out the alphabet

Put 3 spaces between adjacent letters.

Start file
abcde
fghij
klmno
pqrst
uvwxyz
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

Why 3? Why spaces?

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 269 remaining solutions by signing in and submitting your own entry
#270 matthieu le grix / mlegrix - Score: 23 - 04/07/15 @ 21:23
qaa   <Esc>l.l.l.j0q4@al.ZZ

0 comments


#271 Michael Cramer / mlcramer - Score: 23 - 04/11/15 @ 12:09
:%s/\w\ze[^$]/&   /g<CR>ZZ

0 comments


#272 Chad / __chad__ - Score: 23 - 04/15/15 @ 20:22
qqa   <Esc>l.l.l.j0q4@ql.ZZ

0 comments


#273 David Rogers / al_the_x - Score: 23 - 05/28/15 @ 03:31
:%s/./   &/g<CR>:%s/^ *<CR>ZZ

0 comments


#274 Joel Gallant / joelg236 - Score: 23 - 06/05/15 @ 00:34
qaa   <Esc>l.l.l.j0q4@al.ZZ

0 comments


#275 lumi / lumi_woking - Score: 23 - 06/19/15 @ 21:14
qq<Esc>3a <Esc>l.l.l.j0q4@ql.ZZ

0 comments


#276 Mikołaj Morzy / MikolajMorzy - Score: 23 - 06/21/15 @ 09:26
:%s/\w\ze[^$]/&   /g<CR>ZZ

0 comments


#277 aisapatino / aisapatino - Score: 23 - 08/02/15 @ 03:53
<C-V>GA   <Esc>w.w.w.wG$i   <Esc>ZZ

0 comments


#278 Дима Давыдов / xaykot - Score: 23 - 08/14/15 @ 21:44
:%s/\.*/&   /g<CR>h<C-V>ggBdZZ

0 comments


#279 Rene Tianco / murlockslol - Score: 23 - 10/29/15 @ 05:07
:%s/\.*/&   /g<CR>h<C-V>ggBdZZ

0 comments


#280 Get Sharp / get_Sh4rp - Score: 23 - 11/15/15 @ 06:15
:%s/\.*/&   /g<CR>h<C-V>ggBdZZ

0 comments


#281 Roberto Carraretto / robcarraretto - Score: 23 - 01/23/16 @ 00:23
:%s/\.*/&   /g<CR>h<C-V>ggBdZZ

0 comments


#282 Etienne Tremel / etiennetremel - Score: 23 - 02/07/16 @ 11:09
qqa   <Esc>w.w.w.j^q4@qw.ZZ

0 comments


#283 Dinesh Bhosale / MrDineshBhosale - Score: 23 - 04/01/16 @ 13:27
qqa   <Esc>l.l.l.j0q4@ql.ZZ

0 comments


#284 André Peric Tavares / AndrePeric - Score: 23 - 07/24/16 @ 16:03
:%s/./   &/g<CR>:%s/^ *<CR>ZZ

0 comments


#285 Dan Prince / danj_prince - Score: 23 - 02/25/17 @ 02:30
:%s/\.*/&   /g<CR>h<C-V>ggBdZZ

0 comments


#286 Mitchell / Spitchell - Score: 23 - 03/16/17 @ 00:07
:%s/\a\zs\ze\a/   /g<CR>ZZ

0 comments


#287 Felipe Apostol / flipjsio - Score: 23 - 10/08/17 @ 18:55
qqa   <Esc>l.l.l.j0q4@ql.ZZ

0 comments


#288 Simon Cheng / bambooraccoon - Score: 23 - 01/26/18 @ 18:41
:%s/\W*/\ \ \ /g<CR>h<C-V>(xZZ

0 comments


#289 brobostigon / colonel_korn - Score: 24 - 02/17/15 @ 00:12
lqa<C-V>4j3I <Esc>4lq3@a4j3a <Esc>ZZ

0 comments


#290 Michael Gerdes / mgerdes11 - Score: 24 - 03/02/15 @ 20:06
:%s/[^ejotz]/\0   /ge<CR>ZZ

0 comments


#291 Daniel Byron / dansolo17 - Score: 24 - 04/17/15 @ 06:44
<C-V>4jA   <Esc>w.w.w.G$i   <Esc>:x<CR>

0 comments


#292 m a c s f / macsf - Score: 24 - 05/07/15 @ 14:23
:%s/.\($\)\@!/\0   /g<CR>ZZ

0 comments


#293 Jason Schulz / uxcn_ - Score: 24 - 07/27/15 @ 02:21
qqli   <Esc>lqu:%norm 5@q<CR>ZZ

0 comments


#294 thlix / thlix - Score: 24 - 01/10/16 @ 22:43
qq<C-V>5jA   <Esc>4lq4@q<C-V>hh3jxZZ

0 comments


#295 Janine Cheng / janineist - Score: 24 - 02/12/16 @ 17:30
qqli   <Esc>lqu:%norm 5@q<CR>ZZ

0 comments


#296 ค×ɛเ / pwnedary - Score: 24 - 03/02/16 @ 18:14
:%s/./&   /g|%s/ *$//|x<CR>

0 comments


#297 Dan Madden / guthran - Score: 24 - 07/20/16 @ 19:14
qql<C-V>5jI   <Esc>wq3@qG$3i <Esc>ZZ

0 comments


#298 Thomas Brisbout / le_briz - Score: 25 - 02/17/15 @ 14:28
qqa   <Esc>l.l.l.j0q4@ql.:wq<CR>

0 comments


#299 Krzysztof / Krzysztof2K - Score: 25 - 03/24/15 @ 20:32
:%s/./&   /g<CR>:%s/ *$//|x<CR>

0 comments


#300 chvzvhn / chvzvhn - Score: 25 - 04/26/15 @ 03:29
:%s/\a/   &/g<CR>gghhh<C-V>GhxZZ

0 comments


#301 Rob Wise / RobAWise - Score: 25 - 06/01/15 @ 23:44
<C-V>5jA   <Esc>w.w.w.GG#$i   <Esc>ZZ

0 comments


#302 Anshu Avinash / anshu_avinash - Score: 25 - 10/18/15 @ 09:41
:%s/./&   /g<CR>:%s/\s\+$<CR>ZZ

0 comments


#303 udreki / udreki - Score: 25 - 02/05/16 @ 20:35
qqa   <Esc>l.l.l.<Esc>j^q4@ql.:x<CR>

0 comments


#304 ghajkl vbehj / cpktnwt311 - Score: 25 - 04/29/16 @ 07:58
qqa   <Esc>lquqa04@qjq4@a@qZZ

0 comments


#305 some call me mattp / mattpep - Score: 25 - 05/09/16 @ 22:49
qq3a <Esc>l.l.l.wwq4@qi   <Esc>ZZ

0 comments


#306 David Gustavsson / mrGustaphe - Score: 25 - 06/16/17 @ 20:36
:%s/\W*/   /g<CR>h<C-V>gg^hhhdZZ

0 comments


#307 grigouille / grigouille2 - Score: 25 - 07/08/17 @ 20:04
qql<C-V>5jI   <Esc>wq3@qG$i   <Esc>ZZ

0 comments


#308 Guillaume / WeshGuillaume - Score: 25 - 08/23/17 @ 14:25
<Esc><Esc><Esc>:%s:[^ejotz]:&   :g<CR>ZZ

0 comments


#309 Veljko Dimic / v2dimic - Score: 25 - 02/07/18 @ 21:11
qq<C-V>4jA   <Esc>wq3@q$G$i   <Esc>ZZ

0 comments


#310 ryo_n / ryo_n - Score: 26 - 04/04/15 @ 10:02
:%s/./&   /g<CR>:%s/ *$//g<CR>ZZ

0 comments


#311 Agostino Hernandez / vimagostino - Score: 26 - 07/08/15 @ 17:21
lqq<C-V>4jI   <Esc>wlq3@q4ja   <Esc>ZZ

0 comments


#312 Durga Swaroop Perla / durgaswaroop - Score: 26 - 02/04/16 @ 08:32
qql3i <Esc>ll.ll.ll.+q4@qll.ZZ

0 comments


#313 wall2flower / wall2flower - Score: 26 - 06/06/16 @ 06:06
qwa   <Esc>w.w.w.wwq4@wi   <Esc>ZZ

0 comments


#314 Paul Inc / hiniol1982 - Score: 26 - 09/17/17 @ 17:00
:%s/[a-z]/   \0/g<CR>h<C-V>gg0dZZ

0 comments


#315 Florian Kluck / KluckF - Score: 26 - 12/02/17 @ 10:33
qq3a <Esc>lq3@qqwj04@qq3@w@qZZ

0 comments


#316 d1uckym d1uckym / d1uckym - Score: 27 - 02/14/15 @ 21:35
:%s/./&   /g<CR>:%s/   $//g<CR>ZZ

zulolosi: Lookahead, 24 keystrokes, only one s -> :%s/.\(\n\)\@!/& /g<CR>ZZ

1 comment


#317 David Orr / dorr91 - Score: 27 - 03/23/15 @ 18:25
l<C-V>GlI   <Esc>wl.wl.wl.G$i   <Esc>ZZ

0 comments


#318 Adrien Fabre / statox42 - Score: 27 - 05/06/15 @ 20:50
:%s;.;&   ;g<CR>$xxxk<C-V>hhkkkdZZ

0 comments


#319 Andrew Michaud / andrewjmichaud - Score: 27 - 09/04/15 @ 01:02
qaa   <Esc>l.l.l.j^q4@ala   <Esc>ZZ

0 comments


#320 John Clara / johnanthclara - Score: 27 - 08/08/16 @ 20:17
qqa   <Esc>lq3@Qqwj04@Qq3@W@QZZ

0 comments


#321 Arturo Volpe / CochoVolpe - Score: 28 - 02/23/15 @ 22:36
:%s/./\0   /g<CR>:%norm $xxx<CR>ZZ

0 comments


#322 louis sherren / louis_sherren - Score: 28 - 02/27/15 @ 08:53
:%s/./\0   /g<CR>:%s/   $//g<CR>ZZ

0 comments


#323 ಸುಬ್ರಹ್ಮಣ್ಯ ಜೋಶಿ / subbucoding - Score: 28 - 03/28/15 @ 12:54
:%s:\([^afkpu]\):   \1:g<CR>:x<CR>

0 comments


#324 dest royer / ddddestroyerrrr - Score: 28 - 05/04/15 @ 02:26
:%s/\S/\0   /g<CR>:%s/   $//<CR>ZZ

0 comments


#325 ORchard test / BilboBrovall - Score: 28 - 09/22/15 @ 18:00
qq3a <Esc>w@qq@qggqw$xxxj@wq@wZZ

0 comments


#326 Pratik Prasad / pratik - Score: 28 - 05/23/17 @ 13:54
:%s/./&   /g<CR>A<BS><BS><BS><Esc>k.k.k.k.ZZ

0 comments


#327 Ilker Mutlu / ilkermutlu - Score: 29 - 04/01/15 @ 14:43
<C-V>GA   <Esc><Esc>fb.fc.fd.:5<CR>fya   <Esc>ZZ

0 comments


#328 steron / steron23 - Score: 29 - 04/01/15 @ 19:02
qqa   <Esc>wq3@qqwj04@qq@w@w@w.ZZ

0 comments


#329 F-R Vuillemin / frvuillemin - Score: 29 - 09/28/17 @ 15:37
qqa   <Esc>lq3uhqa4@q<CR>q4@aa   <Esc>ZZ

0 comments


#330 Gowtham Madhava / gowthamgowtham - Score: 30 - 03/03/15 @ 17:25
:%s/\v(\w)(\w)/\1   \2/g<CR>:<Up><CR>ZZ

0 comments


#331 William Ott / oddalot - Score: 32 - 04/07/15 @ 18:15
:%s/\(.\)/\1   /g<CR>:%s/\s\+$//<CR>ZZ

0 comments


#332 Zack Rosen / ZJRosen - Score: 34 - 06/04/15 @ 05:31
qqa   <Esc>lq3@qj04@qj04@qj04@qj05@qZZ

0 comments


#333 Samir Sadek / netsamir - Score: 35 - 07/20/15 @ 14:44
:%S<BS>s/[a-df-j<BS>ik-np-su-y]/&   /g<CR>ZZ

0 comments


#334 Andrew Larson / applarson - Score: 45 - 04/15/15 @ 00:50
:%S<BS>s/./\0   /cg<CR>yyyynyyyynyyyynyyyynyyyyynZZ

0 comments


#335 Niru Maheswaranathan / niru_m - Score: 49 - 04/13/16 @ 05:36
qqa   <Esc>wq25@qdFbdblhlrzkdBkjrtk$bldwkldwkldw;:wq<CR>

0 comments


#336 Jack Mooney / jmooney7 - Score: 49 - 02/26/18 @ 05:57
a   <Esc>ww.ww.ww.ww.fzh.bbl<C-V>llkkkkylllplllplllp<Esc>:wq<CR>

0 comments


#337 Jonathan Skeate / jskeate - Score: 51 - 09/15/15 @ 16:53
a   <Esc>w.w.w.ww.w.w.w.ww.w.w.w.ww.w.w.w.ww.w.w.w.w.ZZ

0 comments


Created by: udioica

337 active golfers, 1160 entries

Leaderboard (lowest score wins):
18
#151 - yachi / yaachi

02/14/2015 at 07:03PM

18
#152 - Carlos A Henríquez Q / lagunex

02/14/2015 at 11:23PM

18
#153 - Juan-Lucas Picard / davidmh

02/15/2015 at 08:47AM

18
#154 - david hu / chin33z

02/17/2015 at 10:00AM

18
#155 - typp / tehtyppz

02/17/2015 at 06:04PM

18
#156 - Ryan Troxler / TroxlerRyan

02/18/2015 at 04:04AM

18
#157 - Matthew Bender / iobender

03/02/2015 at 08:24PM

18
#158 - Johan Wiren / johanwiren

03/07/2015 at 03:29PM

18
#159 - Marek Wawrzos / putisPenser

03/25/2015 at 09:58AM

18
#160 - Marcelo Montu / _mMontu_

03/25/2015 at 04:59PM

18
#161 - ipson_nek / ipson_nek

03/26/2015 at 02:45PM

18
#162 - Garrett Smith / garrettwhsmith

03/28/2015 at 05:00AM

18
#163 - Blake Tereau / BlakeTereau

08/11/2015 at 06:56PM

18
#164 - Christopher MCA / christopherMCA

11/02/2015 at 03:35AM

18
#165 - Austin Wood / indiesquidge

02/11/2016 at 06:04PM

18
#166 - Jan Bundesmann / ixjab

03/29/2016 at 02:45PM

18
#167 - tgmeng / lazy_fabric

06/15/2016 at 12:34PM

18
#168 - TweetDreams / TweetMusicians

10/09/2016 at 06:44AM

18
#169 - caplod / caplod

03/26/2017 at 10:20AM

18
#170 - Миша Сорокин / rafmikovi4

04/10/2017 at 02:07PM

18
#171 - Kevin K / okkays

04/24/2017 at 04:19PM

18
#172 - Jerry Wu / AzureSpectra

05/16/2017 at 03:32PM

18
#173 - James Houghton / jamesthoughton

05/16/2017 at 03:33PM

19
#174 - Anoop Kumar / anooplive

02/15/2015 at 12:40AM

19
#175 - Jeremie / jermoer

02/15/2015 at 03:40AM

19
#176 - Gammelin Guillaume / ggammelin

02/17/2015 at 04:24PM

19
#177 - Michael Giuffrida / mgiuffrida

02/20/2015 at 04:36AM

19
#178 - Pedro Araújo / phcrva

02/20/2015 at 10:04PM

19
#179 - paulfariello ✏️ / paulfariello

02/25/2015 at 04:11PM

19
#180 - krzysztof siejkowski / _siejkowski

02/28/2015 at 09:50AM