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 59a2167bd6550c0006000005

multiple cursor alternative

from: https://www.reddit.com/r/vim/comments/6w5pfa/crosspost_from_remacs_how_would_you_do_this_in_vim/

Start file
<section class="top-bar-selection">
  <ul class="left">
    <li class="divider"></li>
    <li class="active">
      <a href="homepage.html">Page 1</a></li>
    <li class="divider"></li>
    <li>
      <a href="homepage.html">Page 2</a></li>
    <li class="divider"></li>
    <li>
      <a href="homepage.html">Page 3</a></li>
    <li class="divider"></li>
    <li>
      <a href="homepage.html">Page 4</a></li>
  </ul>
</section>
End file
<section class="top-bar-selection">
  <ul class="left">
    <li class="divider"></li>
    <li class="active">
      <a href="Page1.html">Page 1</a></li>
    <li class="divider"></li>
    <li>
      <a href="Page2.html">Page 2</a></li>
    <li class="divider"></li>
    <li>
      <a href="Page3.html">Page 3</a></li>
    <li class="divider"></li>
    <li>
      <a href="Page4.html">Page 4</a></li>
  </ul>
</section>

View Diff

5c5
<       <a href="homepage.html">Page 1</a></li>
---
>       <a href="Page1.html">Page 1</a></li>
8c8
<       <a href="homepage.html">Page 2</a></li>
---
>       <a href="Page2.html">Page 2</a></li>
11c11
<       <a href="homepage.html">Page 3</a></li>
---
>       <a href="Page3.html">Page 3</a></li>
14c14
<       <a href="homepage.html">Page 4</a></li>
---
>       <a href="Page4.html">Page 4</a></li>

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 116 remaining solutions by signing in and submitting your own entry
#117 h43z / h43z - Score: 24 - 09/30/17 @ 19:41
qq/P<CR>wvyF.PFpdb~jq3@q:x<CR>

0 comments

#118 sehe / sehetw - Score: 24 - 10/10/17 @ 12:41
/Pa<CR>qqyit4bvephxnnq3@qZZ

0 comments

#119 vimgolfer / vimgolfinger - Score: 24 - 11/03/17 @ 02:41
qq/ho<CR>dwfPyt<F.Pdhq3@qZZ

0 comments

#120 Rachel Murray / RachelMurray11 - Score: 25 - 08/28/17 @ 11:02
/P<CR>qq2ywFebdw"0PXnnq3@qZZ

0 comments

#121 Jason Liang / summerjacketx - Score: 25 - 09/05/17 @ 05:19
qq/P<CR>yt<Foviwphxjq3@q:wq<CR>

0 comments

#122 Herr Joschka / HerrJoschka - Score: 25 - 10/19/17 @ 03:41
/P<CR>qqyt<F.db"0Phxnnq3@qZZ

0 comments

#123 Pfhor / PfhorShark - Score: 25 - 10/27/17 @ 22:34
qq/ho<CR>fPv5lyNvwhphxq3@qZZ

0 comments

#124 Ben Hill / KaizenSoze70 - Score: 26 - 09/18/17 @ 18:56
qq/P<CR>yt<2F"wcw<C-R>0<Esc>hxjq3@qZZ

0 comments

#125 Joachim Nielandt / joachimnielandt - Score: 26 - 09/30/17 @ 18:58
qa/P<CR>yt<?ho<CR>vt.pX$q3@a:wq<CR>

0 comments

#126 Sebastian Korten / FlashKorten - Score: 26 - 10/28/17 @ 10:53
:g/P/norm fPwylF.PT"4x~<CR>ZZ

0 comments

#127 Mihai / mihaicristiant - Score: 26 - 11/10/17 @ 20:03
qr/page <CR>yitFevbPdhnq3@RZZ

0 comments

#128 Charlie OConor / charlieoconor - Score: 27 - 09/20/17 @ 20:24
:%s/ho\l*/Page1<CR>3<C-A>3kr33k<C-A>ZZ

0 comments

#129 Marc / Fusselgesicht - Score: 29 - 10/14/17 @ 22:23
:%s/ho\w*/Page1<CR>6k<C-A>3j<C-A><C-A>3j3<C-A>ZZ

0 comments

#130 梅干 / Umeboshi_9 - Score: 29 - 11/10/17 @ 15:47
:%s/ho\l*/Page1/g<CR>3<C-A>3k2<C-A>3k<C-A>ZZ

0 comments

#131 Benoit Mortgat / Benoit_Mortgat - Score: 29 - 11/13/17 @ 16:32
/h<C-G><CR>*cePage2<Esc>n.n.n.<C-X>6j<C-A>3jr4ZZ

0 comments

#132 Rodrigo Santa Cruz / rstcruzo - Score: 30 - 10/16/17 @ 04:09
/ho<CR>ciwPage1<Esc>qqyiwnviwp<C-A>q2@qZZ

0 comments

#133 David / Latiku - Score: 31 - 08/28/17 @ 19:49
:%s/homepage/Page1/<CR>3<C-A>3k2<C-A>3k<C-A>ZZ

0 comments

#134 Omar M. Ali / OmarMMAli - Score: 31 - 10/30/17 @ 21:04
:%s/homepage/Page1<CR>3<C-A>3k2<C-A>3k1<C-A>ZZ

0 comments

#135 かりうむ / ka1l - Score: 32 - 11/15/17 @ 11:35
:%s/homepage/Page1/g<CR>3<C-A>3k2<C-A>3k<C-A>ZZ

0 comments

#136 Ítalo Vieira / italogvieira - Score: 34 - 09/11/17 @ 02:32
/ho.*"<CR>qqdgnly2whPhxa.html"<Esc>q3@qZZ

0 comments

#137 Chris Kirkland / numbahs - Score: 36 - 11/07/17 @ 04:06
:%s/homepage/Page1/<CR>8G<C-A>11Gf1r33jr4ZZ

0 comments

#138 Akin S / Akin_So - Score: 38 - 09/26/17 @ 22:45
5Gfh;:%s/<C-R><C-W>/Page1/g<CR>f1r43kr33kr23k:wq<CR>

0 comments

#139 Shawn Axsom / ShawnAxsom - Score: 39 - 08/27/17 @ 23:59
:%g/hr/norm fPyt<FohPF xfhdt.<CR>:q<CR>:w<CR>:q<CR>

0 comments

#140 Michael Heyman / michaelheyman - Score: 46 - 11/16/17 @ 02:33
:%s/homepage/Page/g<CR>f.i4<Esc>kkki3<Esc>kkki2<Esc>kkki1<Esc>:x<CR>

0 comments

#141 Jeff / RealJeffIrwin - Score: 54 - 09/26/17 @ 22:17
:%s/homepage/Page/g<CR>gg/Page<CR>wi1<Esc>nnwi2<Esc>nnwi3<Esc>nnwi4<Esc>:wq<CR>

0 comments

#142 Sebastian Aburto / saburto_m - Score: 54 - 10/01/17 @ 20:42
:let i=1 | g/homepage/s//\='Page'.i/ | let i=i+1<CR><Esc>:wq<CR>

0 comments

#143 Nome / sensorario - Score: 64 - 09/21/17 @ 16:55
:%s/home<Esc><Esc><Esc><Esc>5G0wwwww$<Esc>qq0$bbbbbvbybbbbviwpi<BS><Esc>qjjj@qjjj@@jjj@@<Esc>ZZ

0 comments

#144 William Burns / _william_burns - Score: 70 - 09/20/17 @ 19:21
/ho<CR><Esc>xxxxxiP<Right><Right><Right>1<Esc>/ho<CR><Esc>xxxxxiP<Right><Right><Right>2<Esc>/ho<CR>xxxxxiP<Right><Right><Right>3<Esc>/ho<CR><Esc>xxxxxiP<Right><Right><Right>4<Esc>:x<CR>

0 comments

#145 Daniel Rasmuson / danielrasmuson - Score: 85 - 09/06/17 @ 06:04
/home<CR>vi"xiPage1.html<Esc>jjjvi"xiPage2.html<Esc>jjjvi"xiPage3.html<Esc>jjjvi"xiPage5<BS>4.html<Esc>:wq<CR>

0 comments

Created by: wyne

145 active golfers, 451 entries

Leaderboard (lowest score wins):
18
#1 - Petro Тrouq / zulolosi

09/16/2017 at 12:21PM

19
#2 - Kerson Hsiao / KersonHsiao

08/31/2017 at 02:35AM

19
#3 - Saki Gw / Sakigw

08/31/2017 at 09:43AM

19
#4 - Virgil Ashruf / eSrem

08/31/2017 at 12:11PM

19
#5 - Kutsan Kaplan / kutsankaplan

08/31/2017 at 06:21PM

19
#6 - zava / znl1087

09/03/2017 at 08:54AM

19
#7 - John Braxler / braxler

09/06/2017 at 07:25PM

19
#8 - Vimgolf / vimgolf987

09/07/2017 at 09:40PM

19
#9 - Alejandro Catalina / AleexCatalina

09/10/2017 at 04:39PM

19
#10 - 郑晓东 / DGivxLTVopiOQap

09/12/2017 at 03:22AM

19
#11 - herbage / herbage2

09/13/2017 at 07:54AM

19
#12 - Alonzo / tolver_a

09/17/2017 at 08:59AM

19
#13 - Smylers / Smylers2

09/18/2017 at 12:38PM

19
#14 - how ja din / o157529

09/20/2017 at 03:41AM

19
#15 - Owen / owengeorge_

09/20/2017 at 06:59AM

19
#16 - Sean Moogan / Moogarillo

09/22/2017 at 03:23PM

19
#17 - Bibek Shah / Bibekshah

09/22/2017 at 08:05PM

19
#18 - Kristoffer Ahlqvist / ahlqvistk

09/24/2017 at 01:42PM

19
#19 - Sergio / voyeg3r

09/26/2017 at 08:53AM

19
#20 - F / gofilby

09/26/2017 at 07:07PM

19
#21 - Luke Bryant / LukeBryant55

09/29/2017 at 02:41PM

19
#22 - Jon Wålstedt / jonwalstedt

09/30/2017 at 10:26PM

19
#23 - Michail Pishchagin / mblsha

10/02/2017 at 07:46AM

19
#24 - 5tephen / geluso

10/02/2017 at 09:30PM

19
#25 - Jon Krause / jkrause314

10/08/2017 at 10:29PM

19
#26 - Zakaria ANBARI / abualy4400

10/11/2017 at 03:08PM

19
#27 - Rich Cheng / sedm0784

10/11/2017 at 03:42PM

19
#28 - Rafael Souza / heavyDosesOfDMT

10/11/2017 at 08:38PM

19
#29 - Ron Alexssen / Ralexhere

10/11/2017 at 09:19PM

19
#30 - thvdburgt / thvdburgt

10/16/2017 at 10:30AM

19
#31 - mkl / Hnr1zklc

10/27/2017 at 11:16AM

19
#32 - Arthur van Rooijen / MuadDev

11/02/2017 at 04:08PM

19
#33 - Turkey Man / lvturkeyman

11/07/2017 at 04:36PM

19
#34 - OPChrom / OPChrom

11/09/2017 at 03:43PM

19
#35 - Juuso Valkeejärvi / jussovalk

11/10/2017 at 09:36PM

19
#36 - BobbyLapointe / BobbyLapointe7

11/13/2017 at 05:04PM

20
#37 - Jacob Buete / JBuete

08/27/2017 at 03:24AM

20
#38 - ushumpei / ushumpei_

08/27/2017 at 03:40AM

20
#39 - Vaughn Cato / vaughncato

08/27/2017 at 04:25AM

20
#40 - meribold / mribld

08/27/2017 at 09:00AM

20
#41 - Dmitry Zudochkin / vredniy

08/27/2017 at 09:10AM

20
#42 - Cristian Lupașcu / clupasq

08/27/2017 at 06:11PM

20
#43 - Sheldon Johnson / sheldyjohnson

08/28/2017 at 12:47AM

20
#44 - adeel hussain / adeelhussain

08/29/2017 at 06:14AM

20
#45 - Darren Weston / dazWestonUK

08/29/2017 at 06:06PM

20
#46 - Ky Statham / ijustwannacode

08/30/2017 at 06:18AM

20
#47 - bencvim / bencvim

08/30/2017 at 11:44PM

20
#48 - Pedro Santos / pedrosans

08/31/2017 at 08:10AM

20
#49 - Christian Stammen / c0smiq

08/31/2017 at 01:03PM

20
#50 - Jesper Oskarsson / jesosk

09/01/2017 at 06:05AM

20
#51 - joskarsson / joskarsson7

09/01/2017 at 08:28AM

20
#52 - Solomon / Trugbildjaeger

09/02/2017 at 01:46PM

20
#53 - albert / albert67511150

09/07/2017 at 08:56PM

20
#54 - Cyhors / Cyhors

09/13/2017 at 06:46AM

20
#55 - jirgn / jirgn

09/16/2017 at 04:35PM

20
#56 - elmoloves / ElmoLovesSilly

09/19/2017 at 09:45PM

20
#57 - あっつぉ / tadokorohitoshi

09/21/2017 at 08:51AM

20
#58 - Karamfil / lz1aai

09/24/2017 at 09:01PM

20
#59 - Bonjew / Bonjew_L

09/25/2017 at 06:29AM

20
#60 - Anne Pacalet / _Anne_P

09/29/2017 at 09:18AM

20
#61 - Chris Atanasian / ChrisAtanasian

10/03/2017 at 09:34PM

20
#62 - Anton Popov / agraver

10/04/2017 at 02:38PM

20
#63 - Stephen Betts / stephenbetts

10/10/2017 at 04:00PM

20
#64 - {name: 'jairo'} / jairoandre

10/11/2017 at 08:35PM

20
#65 - えるざっぷ / _elzup_

10/13/2017 at 06:44AM

20
#66 - Robert Mosher / rcmosher

10/18/2017 at 04:09PM

20
#67 - Thai Pangsakulyanont / dtinth

10/29/2017 at 07:08PM

20
#68 - ryuugekisya / ryuugekisya

11/04/2017 at 03:45AM

21
#69 - YNWP / ynw_P

08/27/2017 at 04:20AM

21
#70 - よんわ / ynw_s

08/27/2017 at 04:24AM

21
#71 - Peter B / l0wm4x

08/27/2017 at 05:37PM

21
#72 - Jan Bundesmann / ixjab

08/28/2017 at 07:43AM

21
#73 - Song Zheng / songz

08/29/2017 at 02:24AM

21
#74 - 杨洋 / 176795444

08/29/2017 at 10:50AM

21
#75 - hatoo / hato2000

08/30/2017 at 07:36AM

21
#76 - dayshade / dayshade_7

08/30/2017 at 02:51PM

21
#77 - lack / lack84639857

09/08/2017 at 10:26AM

21
#78 - Jonathan Eidsness / jonathaneidsnes

09/15/2017 at 05:34AM

21
#79 - Nelson Ruivo / stringbasic

09/19/2017 at 10:47PM

21
#80 - Rami Hovi / hacker_lawyer

09/20/2017 at 08:41PM

22
#81 - tPenguinLTG / tpenguinltg

08/27/2017 at 03:04AM

22
#82 - SirVimGolf / SirVimGolf

08/27/2017 at 02:14PM

22
#83 - tempo dooake / tempo_dooake

09/01/2017 at 01:09AM

22
#84 - Matt Rixman / MattRixman

10/02/2017 at 04:16PM

22
#85 - Stefan Knudsen / knud32

10/06/2017 at 03:29PM

22
#86 - Mike Reinhardt / subitoforte

10/17/2017 at 06:01PM

22
#87 - BouboulouVimGolf / BouboulouVG

10/31/2017 at 04:41PM

23
#88 - Justin Wyne / wyne

08/27/2017 at 01:09AM

23
#89 - James / Dronak

08/27/2017 at 01:24AM

23
#90 - Derek Schrock / derekschrock

08/27/2017 at 09:17AM

23
#91 - Jimmy C / jimmehc

08/31/2017 at 07:01AM

23
#92 - Gurukandhamoorthi / Gurukandhamoor1

09/02/2017 at 05:01PM

23
#93 - lujianmei / lujianmei

09/05/2017 at 08:49AM

23
#94 - Koo Zhengqun / zhengqunkoo

09/08/2017 at 02:40PM

23
#95 - Alex / alexhod08054568

09/10/2017 at 05:52PM

23
#96 - Jasper Armstrong / jasperarmstrong

09/14/2017 at 10:47AM

23
#97 - Alphonso De La Morte / FatDrakula

09/17/2017 at 12:22PM

23
#98 - Conrad / Conrad55084958

09/17/2017 at 01:57PM

23
#99 - Maciek Wcislik / inoutin

09/19/2017 at 12:55PM

23
#100 - Andrew's Testing / andrewwwtest

09/19/2017 at 09:56PM

23
#101 - Diego Roccia / rocciadiego

09/19/2017 at 10:02PM

23
#102 - Alex Coventry / AlexCoventry4

09/21/2017 at 12:21AM

23
#103 - Tim Varley / varleti

09/25/2017 at 04:22PM

23
#104 - Elton Kamami / pixel_grid

10/07/2017 at 07:24PM

23
#105 - Felipe Apostol / flipjsio

10/08/2017 at 05:52PM

23
#106 - Jason Stidd / jd_stidd

10/10/2017 at 08:33PM

23
#107 - Wolly Woodpecker / WollyWoodpecker

10/13/2017 at 03:28PM

23
#108 - Seybol / Seybol_

10/14/2017 at 11:06PM

23
#109 - Jan Chwiejczak / iamjanhak

10/22/2017 at 12:15AM

23
#110 - Daniel Hjelm / dhjelm

10/22/2017 at 01:49PM

23
#111 - popo5colo / popo5colo1

10/31/2017 at 06:08AM

23
#112 - MathijsHoogland / MathijsHoogland

11/01/2017 at 06:21PM

23
#113 - Philippe / cloonn1

11/02/2017 at 10:15PM

24
#114 - David ROBIN / DavidRobin48

08/27/2017 at 09:35PM

24
#115 - Graham Bates / gigabates

09/15/2017 at 11:35PM

24
#116 - Evan Relf / evanrelf

09/17/2017 at 04:19AM

24
#117 - h43z / h43z

09/30/2017 at 07:41PM

24
#118 - sehe / sehetw

10/10/2017 at 12:41PM

24
#119 - vimgolfer / vimgolfinger

11/03/2017 at 02:41AM

25
#120 - Rachel Murray / RachelMurray11

08/28/2017 at 11:02AM

25
#121 - Jason Liang / summerjacketx

09/05/2017 at 05:19AM

25
#122 - Herr Joschka / HerrJoschka

10/19/2017 at 03:41AM

25
#123 - Pfhor / PfhorShark

10/27/2017 at 10:34PM

26
#124 - Ben Hill / KaizenSoze70

09/18/2017 at 06:56PM

26
#125 - Joachim Nielandt / joachimnielandt

09/30/2017 at 06:58PM

26
#126 - Sebastian Korten / FlashKorten

10/28/2017 at 10:53AM

26
#127 - Mihai / mihaicristiant

11/10/2017 at 08:03PM

27
#128 - Charlie OConor / charlieoconor

09/20/2017 at 08:24PM

29
#129 - Marc / Fusselgesicht

10/14/2017 at 10:23PM

29
#130 - 梅干 / Umeboshi_9

11/10/2017 at 03:47PM

29
#131 - Benoit Mortgat / Benoit_Mortgat

11/13/2017 at 04:32PM

30
#132 - Rodrigo Santa Cruz / rstcruzo

10/16/2017 at 04:09AM

31
#133 - David / Latiku

08/28/2017 at 07:49PM

31
#134 - Omar M. Ali / OmarMMAli

10/30/2017 at 09:04PM

32
#135 - かりうむ / ka1l

11/15/2017 at 11:35AM

34
#136 - Ítalo Vieira / italogvieira

09/11/2017 at 02:32AM

36
#137 - Chris Kirkland / numbahs

11/07/2017 at 04:06AM

38
#138 - Akin S / Akin_So

09/26/2017 at 10:45PM

39
#139 - Shawn Axsom / ShawnAxsom

08/27/2017 at 11:59PM

46
#140 - Michael Heyman / michaelheyman

11/16/2017 at 02:33AM

54
#141 - Jeff / RealJeffIrwin

09/26/2017 at 10:17PM

54
#142 - Sebastian Aburto / saburto_m

10/01/2017 at 08:42PM

64
#143 - Nome / sensorario

09/21/2017 at 04:55PM

70
#144 - William Burns / _william_burns

09/20/2017 at 07:21PM

85
#145 - Daniel Rasmuson / danielrasmuson

09/06/2017 at 06:04AM