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 134 remaining solutions by signing in and submitting your own entry
#135 Kranzy / CrazyKranzy - Score: 23 - 05/30/17 @ 02:42
/no<CR>cwbold<Esc>n./4<CR>r2n.:x<CR>

0 comments


#136 James / Dronak - Score: 23 - 05/31/17 @ 01:09
qq/no<CR>cwbold<Esc>jf4r2q@qZZ

0 comments


#137 Richard Ivan / Richard_Ivan - Score: 23 - 06/02/17 @ 20:54
/no<CR>cwbold<Esc>n.:%s/4/2<CR>ZZ

0 comments


#138 Will Gunther / WillGunther - Score: 23 - 06/11/17 @ 19:01
qq/no<CR>cwbold<Esc>/4<CR>r2q@qZZ

0 comments


#139 Mayank Suman / mayank_suman - Score: 23 - 06/24/17 @ 18:04
/no<CR>cwbold<Esc>n.:%s/4/2<CR>ZZ

0 comments


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

0 comments


#141 Pfhor / PfhorShark - Score: 23 - 07/02/17 @ 15:13
qq/no<CR>cwbold<Esc>/4<CR>r2q@qZZ

0 comments


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

0 comments


#143 黒澤亮二 / 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


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

0 comments


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

0 comments


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

0 comments


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

0 comments


#148 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


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

0 comments


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

0 comments


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

0 comments


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

0 comments


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

0 comments


#154 Ahmed Hasan / microbialwalrus - Score: 25 - 12/23/17 @ 04:13
qdj2fncwbold<Esc>jf4r2qj0@dZZ

0 comments


#155 Akilan Anbalagan / akilananb - Score: 25 - 03/27/18 @ 03:46
/no<CR>cwbold<Esc>n.:%s/4/2<CR>zzZZ

0 comments


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

0 comments


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

0 comments


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

0 comments


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

0 comments


#160 Jeff / RealJeffIrwin - Score: 26 - 09/29/17 @ 13:16
qq/no<CR>cwbold<Esc>q@q/4<CR>r2nr2ZZ

0 comments


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

0 comments


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

0 comments


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

0 comments


#164 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


#165 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


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

0 comments


#167 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


#168 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

168 active golfers, 545 entries

Leaderboard (lowest score wins):
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

18
#46 - Birger / Birger_Ni

10/01/2017 at 06:45PM

18
#47 - Le Lycal / LeLycal

10/07/2017 at 09:01AM

18
#48 - Jon Krause / jkrause314

10/10/2017 at 03:00PM

18
#49 - Turkey Man / lvturkeyman

11/08/2017 at 08:53AM

18
#50 - Benoit Mortgat / Benoit_Mortgat

11/14/2017 at 08:38AM

18
#51 - BareTull / BareTull3

12/07/2017 at 05:37PM

18
#52 - TpouHuK / TpouHuK_

01/17/2018 at 02:35PM

18
#53 - ParasamGateZero / ParasamGateZero

01/22/2018 at 01:22AM

18
#54 - herbage / herbage2

01/27/2018 at 10:15AM

18
#55 - brandon salmon / Exiledz

01/28/2018 at 10:43AM

18
#56 - Guirec CORBEL / GuirecCorbel

03/08/2018 at 12:30AM

18
#57 - GreenPinguin / GreenPinguin2

03/12/2018 at 04:32PM

18
#58 - vimthrowaway / vimgolf_throw

04/08/2018 at 08:57AM

18
#59 - DHM / DHM29978992

04/14/2018 at 03:56AM

18
#60 - radrhin / radrhin

04/20/2018 at 04:53PM