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 591903ff3060ed0b32000007

Adam's challenge

Change both normal to bold and 4 by 2. Adam Wathan challenge this on twitter . He did it in 11 keystrokes on Sublime.

Start file
<div>
    <span class="text-base text-dark wt-normal">
        @icon('line-graph', 'icon-sm text-dark-faint m-r-4') ${{ number_format($product->totalRevenue() / 100) }}
    </span>
    <span class="text-base text-dark wt-normal">
        @icon('users', 'icon-sm text-dark-faint m-r-4') {{ $product->totalPurchases() }}
    </span>
</div>
End file
<div>
    <span class="text-base text-dark wt-bold">
        @icon('line-graph', 'icon-sm text-dark-faint m-r-2') ${{ number_format($product->totalRevenue() / 100) }}
    </span>
    <span class="text-base text-dark wt-bold">
        @icon('users', 'icon-sm text-dark-faint m-r-2') {{ $product->totalPurchases() }}
    </span>
</div>

View Diff

2,3c2,3
<     <span class="text-base text-dark wt-normal">
<         @icon('line-graph', 'icon-sm text-dark-faint m-r-4') ${{ number_format($product->totalRevenue() / 100) }}
---
>     <span class="text-base text-dark wt-bold">
>         @icon('line-graph', 'icon-sm text-dark-faint m-r-2') ${{ number_format($product->totalRevenue() / 100) }}
5,6c5,6
<     <span class="text-base text-dark wt-normal">
<         @icon('users', 'icon-sm text-dark-faint m-r-4') {{ $product->totalPurchases() }}
---
>     <span class="text-base text-dark wt-bold">
>         @icon('users', 'icon-sm text-dark-faint m-r-2') {{ $product->totalPurchases() }}

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 106 remaining solutions by signing in and submitting your own entry
#107 Mayank Suman / mayank_suman - Score: 23 - 06/24/17 @ 18:04
/no<CR>cwbold<Esc>n.:%s/4/2<CR>ZZ

0 comments

#108 Andrew Sz / RoboAndy - Score: 23 - 06/29/17 @ 09:32
/no<CR>cwbold<Esc>n./4<CR>r2n.:x<CR>

0 comments

#109 J / J02108006 - Score: 23 - 07/02/17 @ 15:13
qq/no<CR>cwbold<Esc>/4<CR>r2q@qZZ

0 comments

#110 Jacob Buete / JBuete - Score: 23 - 07/07/17 @ 14:05
qq/no<CR>cwbold<Esc>jf4r2q@qZZ

0 comments

#111 黒澤亮二 / rjkuro - Score: 23 - 07/22/17 @ 12:11
/no<CR>cwbold<Esc>n./4<CR><C-A><C-A>n<C-A><C-A>ZZ

0 comments

#112 Jonas Sunde V / sunde_v - Score: 23 - 08/04/17 @ 15:25
qq/no<CR>cwbold<Esc>/4<CR>r2q@qZZ

0 comments

#113 Sebastian / echsberde - Score: 23 - 08/20/17 @ 21:35
/no<CR>cwbold<Esc>n.:%s/4/2<CR>ZZ

0 comments

#114 aselaIllayaparachchi / asela38 - Score: 23 - 08/24/17 @ 08:07
qq/no<CR>cwbold<Esc>/4<CR>r2q@QZZ

0 comments

#115 David / Latiku - Score: 23 - 08/25/17 @ 13:30
qq/no<CR>cwbold<Esc>/4<CR>r2q@qZZ

0 comments

#116 Edouard Piette / EdPiette - Score: 24 - 05/19/17 @ 13:00
/no<CR>ciwbold<Esc>n.?4<CR><C-A><C-A>n<C-A><C-A>ZZ

0 comments

#117 David Gustavsson / mrGustaphe - Score: 24 - 06/08/17 @ 06:25
qq/no<CR>cwbold<Esc>jf4s2<Esc>q@qZZ

0 comments

#118 Benoit Bou / 3enoit3 - Score: 24 - 06/17/17 @ 10:25
Gqq?4<CR>r2kFnciwbold<Esc>q@qZZ

0 comments

#119 Ryan Coopersmith / RyanCoopersmit1 - Score: 25 - 06/03/17 @ 15:50
jfm*cwbold<Esc>n.jf4r23jF4.ZZ

0 comments

#120 Avian Y / y_avian - Score: 25 - 06/27/17 @ 15:26
/no<CR>ciwbold<Esc>n.jf4r23k;.ZZ

0 comments

#121 Paul Inc / hiniol1982 - Score: 25 - 08/01/17 @ 21:03
/no<CR>#:%s//bold<CR>:%s/4/2<CR>ZZ

0 comments

#122 python-tweepy / python_tweepy - Score: 26 - 05/16/17 @ 03:55
:%s/normal/bold<CR>:%s/4/2<CR>ZZ

0 comments

#123 Alex Hallam / alexhallam6_28 - Score: 26 - 06/04/17 @ 05:22
:%s/normal/bold<CR>:%s/4/2<CR>ZZ

0 comments

#124 Kieron Browne / KieronBrowne1 - Score: 26 - 06/30/17 @ 09:10
:%s/normal/bold<CR>:%s/4/2<CR>ZZ

0 comments

#125 Sergio Semedi / SergioSemedi - Score: 26 - 07/16/17 @ 13:31
:%s/normal/bold<CR>/4<CR>r2nr2ZZ

0 comments

#126 Gurukandhamoorthi / Gurukandhamoor1 - Score: 27 - 07/09/17 @ 16:23
:%s/normal/bold/|%s/4/2/<CR>ZZ

0 comments

#127 John Doe Jr / bf4648 - Score: 28 - 06/04/17 @ 05:40
:%s/normal/bold<CR>:%s/4/2<CR>:wq<CR>

0 comments

#128 Benjamin Harris / bharrismac - Score: 28 - 06/20/17 @ 16:42
:%/<BS>s/normal/bold<CR>:%s/4/2<CR>ZZ

0 comments

#129 Juho Härme / jharme - Score: 29 - 05/22/17 @ 19:39
jfn;cebold<Esc>l/w<CR>fn.?4<CR>r2N.:wq<CR>

0 comments

#130 lpag / lpag_ai - Score: 29 - 05/31/17 @ 20:59
/no<CR>ciwbold<C-C><C-C>3j.jf4s2<C-C><C-C>?4<CR>.ZZ

0 comments

#131 Cody Loyd / codyloyd - Score: 37 - 06/14/17 @ 17:24
:%s/normal/bold/g<CR>3ggf4r26ggf4r2<Esc>:wq<CR>

0 comments

#132 Jared Thomas / jthomas285 - Score: 39 - 05/15/17 @ 23:20
:%sera<BS><BS><BS>/normal/bold<CR>kkjk<C-A><C-A>jjj<C-A>0<C-A><C-A>:wq<CR>

0 comments

#133 Krystle / krystle_test - Score: 55 - 05/17/17 @ 06:32
:%s/t<BS>wt-normal/wt-bold<CR><Down><Right>i:w<BS><BS><Esc>:w%<BS><BS><BS>:%s/r-4/r-2<CR><Esc>:wq<CR>

0 comments

Created by: TresErresCo

133 active golfers, 401 entries

Leaderboard (lowest score wins):
6
#1 - Rakesh P / rakeshpgopal

09/14/2017 at 07:35AM

18
#2 - Urtica dioica / udioica

05/15/2017 at 04:19AM

18
#3 - Smylers / Smylers2

05/15/2017 at 05:58AM

18
#4 - Chris Robertson / chrisxrobertson

05/15/2017 at 10:43AM

18
#5 - Valacar / valacar

05/15/2017 at 08:33PM

18
#6 - Craig Langford / cllangfo

05/15/2017 at 09:26PM

18
#7 - ЯRicardo / TresErresCo

05/15/2017 at 10:04PM

18
#8 - Vaughn Cato / vaughncato

05/16/2017 at 03:59AM

18
#9 - Saki Gw / Sakigw

05/16/2017 at 07:15AM

18
#10 - John Braxler / braxler

05/16/2017 at 03:39PM

18
#11 - Russell Ball / rtball2

05/16/2017 at 10:28PM

18
#12 - Rami Hovi / hacker_lawyer

05/19/2017 at 01:37PM

18
#13 - Nelson Zhang / Fasoters

05/19/2017 at 05:38PM

18
#14 - martin tourneboeuf / martintournebo1

05/21/2017 at 10:50AM

18
#15 - Domingue Justin / _jdomingue

05/21/2017 at 05:04PM

18
#16 - Rahul Bhola / theRahulBhola

05/21/2017 at 05:10PM

18
#17 - Rodrigo Dorantes G. / ruydg

05/21/2017 at 06:16PM

18
#18 - Petro Тrouq / zulolosi

05/21/2017 at 09:55PM

18
#19 - 梧桐王子 / WutongYujie

05/22/2017 at 01:15AM

18
#20 - Melvin Cheung / MelvinCheung

05/22/2017 at 05:37PM

18
#21 - Parker Vaughn / parker789

05/23/2017 at 01:38PM

18
#22 - Jason Villanueva / Json_V1

05/24/2017 at 07:52AM

18
#23 - Jan Fiser / dmmn082

05/25/2017 at 02:54AM

18
#24 - ybw / yossibenwolf

05/25/2017 at 09:53AM

18
#25 - Tomas Sikula / tomsmicroblog

05/26/2017 at 05:57PM

18
#26 - Simon / simonpaitu

05/28/2017 at 02:43PM

18
#27 - TongHyun Kim / crowdy

05/30/2017 at 02:14PM

18
#28 - ssh89 / ssh89

06/04/2017 at 06:30PM

18
#29 - Michael Buckley / apolatg

06/13/2017 at 09:31PM

18
#30 - Joel Meyer-Hamme / JoelMeyerHamme

06/18/2017 at 02:24PM

18
#31 - Blake Tereau / BlakeTereau

06/22/2017 at 07:10PM

18
#32 - akanb / GAkt6L6SlKhy8zA

06/28/2017 at 03:52AM

18
#33 - Bennett Bernardoni / BBernardoni

06/28/2017 at 05:23PM

18
#34 - Михаил Добров / mSuGfwFz2ZNvv5b

07/09/2017 at 09:21AM

18
#35 - Ben Hill / KaizenSoze70

07/11/2017 at 12:06PM

18
#36 - Adrian Englhardt / _englhardt

07/11/2017 at 12:55PM

18
#37 - Jon Barker / j0nbarker

07/14/2017 at 09:03AM

18
#38 - Ryan McNamara / MadDogMcNamara

07/16/2017 at 10:32PM

18
#39 - Gabriel Siqueira / Gabriel_HSiq

07/27/2017 at 01:37PM

18
#40 - huho / huho_xu

08/03/2017 at 09:29PM

18
#41 - Baine Wedlock / BaineWedlock

08/13/2017 at 05:19PM

18
#42 - Philippe Brouillard / _kurowasan

08/17/2017 at 12:19AM

18
#43 - Terry Ding / TerryDing77

08/23/2017 at 07:07PM

18
#44 - Darren Weston / dazWestonUK

08/30/2017 at 12:22PM

18
#45 - zava / znl1087

09/07/2017 at 10:03AM

19
#46 - Assaf Lavie / AssafLavie

05/18/2017 at 06:24PM

19
#47 - some call me mattp / mattpep

05/22/2017 at 03:05PM

19
#48 - Léo Ercolanelli / ercolanellileo

05/23/2017 at 09:27PM

19
#49 - Christian Abbott / etopixi

05/30/2017 at 11:02AM

19
#50 - Adriano Benin / adrianob11

06/06/2017 at 02:48PM

19
#51 - toddagibson / toddagibson

06/08/2017 at 01:28AM

19
#52 - kanazawak / _kanazawak

06/13/2017 at 03:49PM

19
#53 - Super VedoVatto / supervedovatto

06/18/2017 at 12:39PM

19
#54 - Christian Stammen / c0smiq

06/21/2017 at 08:43AM

19
#55 - Nathan Gober / thegobernador

06/30/2017 at 01:06PM

19
#56 - SirVimGolf / SirVimGolf

08/23/2017 at 09:12PM

19
#57 - bazkila@gmail.com / bazkila

09/03/2017 at 04:18AM

20
#58 - Durga Swaroop Perla / durgaswaroop

05/15/2017 at 12:11PM

20
#59 - Matt Cook / mattcook08

05/15/2017 at 09:04PM

20
#60 - jakeroberts / jakeroberts

05/19/2017 at 01:12PM

20
#61 - 杨洋 / 176795444

08/13/2017 at 08:51AM

21
#62 - tPenguinLTG / tpenguinltg

05/15/2017 at 01:58AM

21
#63 - Daniel K. / lan4k

05/15/2017 at 06:27AM

21
#64 - PL / petrlaitoch

05/16/2017 at 10:04AM

21
#65 - Sylvia / SylvieLorxu

05/16/2017 at 09:18PM

21
#66 - Cristian Lupașcu / clupasq

05/18/2017 at 10:57AM

21
#67 - Yossi Zahn / yossi_zahn

05/21/2017 at 07:18PM

21
#68 - Brian Hall / _bruab_

05/22/2017 at 01:41PM

21
#69 - Utkrisht Dhankar / UtkrishtDhankar

05/24/2017 at 10:00AM

21
#70 - David / Revan4Vendetta

05/26/2017 at 10:59AM

21
#71 - Adam Bozanich / abozanich

06/08/2017 at 02:19AM

21
#72 - Tom Sisk / TomSisk

06/21/2017 at 12:56AM

21
#73 - Stop and think / ms_uncountable

07/07/2017 at 08:12PM

21
#74 - Scott Mills / smm1729

07/11/2017 at 08:04PM

21
#75 - Preben Guldberg / wielder

07/24/2017 at 06:00AM

21
#76 - Jonathan Eidsness / jonathaneidsnes

07/25/2017 at 05:11PM

21
#77 - Daniel / 0x9ABC

08/16/2017 at 04:57PM

21
#78 - Chicuella / chicuellahere

09/04/2017 at 03:38PM

22
#79 - Ryan Jarrett / texmexas

05/15/2017 at 03:51PM

22
#80 - Shriharsh / ShriharshMishra

05/15/2017 at 03:57PM

22
#81 - Bruce Horner / HerbConjurer

05/16/2017 at 01:06AM

22
#82 - Quatrix / Quatrix

05/23/2017 at 08:47PM

22
#83 - Nathan J Slaughter / NjSlaughter

05/24/2017 at 12:35AM

22
#84 - Carl Egbert / CarlOEgbert

06/09/2017 at 06:08AM

22
#85 - Emmanuel Herrero / hairarrow

06/15/2017 at 07:22PM

22
#86 - John Smith / john828495

06/16/2017 at 02:06PM

22
#87 - John Smith / johns32768

06/16/2017 at 06:47PM

22
#88 - Matt Fister / Mistah_Fistah

06/23/2017 at 02:01AM

22
#89 - squdle / squdle

06/30/2017 at 12:45PM

22
#90 - grigouille / grigouille2

07/05/2017 at 08:24PM

22
#91 - Anne Pacalet / _Anne_P

07/06/2017 at 11:22AM

22
#92 - devoh / devvohh

08/06/2017 at 07:25PM

22
#93 - Marcin Paliwoda / eukaliptuss

08/25/2017 at 01:45PM

23
#94 - Bruno / ShadowDancer437

05/15/2017 at 04:16AM

23
#95 - mwatkward / AftrschoolSpe

05/15/2017 at 10:05PM

23
#96 - eric & the a6 / EricAnti4r

05/15/2017 at 11:54PM

23
#97 - Pablo / suspekt007

05/17/2017 at 02:06AM

23
#98 - blamitter / blamitter

05/17/2017 at 01:55PM

23
#99 - Jeff Rimko / jeffrimko

05/18/2017 at 01:27AM

23
#100 - Bjoern M. Wibben / bjoernwibben

05/18/2017 at 08:41AM

23
#101 - almostdvs / almostdvs

05/23/2017 at 02:26AM

23
#102 - squid / zerosquid

05/26/2017 at 11:58PM

23
#103 - Kranzy / CrazyKranzy

05/30/2017 at 02:42AM

23
#104 - James / Dronak

05/31/2017 at 01:09AM

23
#105 - Richard Ivan / Richard_Ivan

06/02/2017 at 08:54PM

23
#106 - Will Gunther / WillGunther

06/11/2017 at 07:01PM

23
#107 - Mayank Suman / mayank_suman

06/24/2017 at 06:04PM

23
#108 - Andrew Sz / RoboAndy

06/29/2017 at 09:32AM

23
#109 - J / J02108006

07/02/2017 at 03:13PM

23
#110 - Jacob Buete / JBuete

07/07/2017 at 02:05PM

23
#111 - 黒澤亮二 / rjkuro

07/22/2017 at 12:11PM

23
#112 - Jonas Sunde V / sunde_v

08/04/2017 at 03:25PM

23
#113 - Sebastian / echsberde

08/20/2017 at 09:35PM

23
#114 - aselaIllayaparachchi / asela38

08/24/2017 at 08:07AM

23
#115 - David / Latiku

08/25/2017 at 01:30PM

24
#116 - Edouard Piette / EdPiette

05/19/2017 at 01:00PM

24
#117 - David Gustavsson / mrGustaphe

06/08/2017 at 06:25AM

24
#118 - Benoit Bou / 3enoit3

06/17/2017 at 10:25AM

25
#119 - Ryan Coopersmith / RyanCoopersmit1

06/03/2017 at 03:50PM

25
#120 - Avian Y / y_avian

06/27/2017 at 03:26PM

25
#121 - Paul Inc / hiniol1982

08/01/2017 at 09:03PM

26
#122 - python-tweepy / python_tweepy

05/16/2017 at 03:55AM

26
#123 - Alex Hallam / alexhallam6_28

06/04/2017 at 05:22AM

26
#124 - Kieron Browne / KieronBrowne1

06/30/2017 at 09:10AM

26
#125 - Sergio Semedi / SergioSemedi

07/16/2017 at 01:31PM

27
#126 - Gurukandhamoorthi / Gurukandhamoor1

07/09/2017 at 04:23PM

28
#127 - John Doe Jr / bf4648

06/04/2017 at 05:40AM

28
#128 - Benjamin Harris / bharrismac

06/20/2017 at 04:42PM

29
#129 - Juho Härme / jharme

05/22/2017 at 07:39PM

29
#130 - lpag / lpag_ai

05/31/2017 at 08:59PM

37
#131 - Cody Loyd / codyloyd

06/14/2017 at 05:24PM

39
#132 - Jared Thomas / jthomas285

05/15/2017 at 11:20PM

55
#133 - Krystle / krystle_test

05/17/2017 at 06:32AM