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 by @sh3llcode:

Unlock 9 remaining solutions by signing in and submitting your own entry
Created by: @TresErresCo

270 active golfers, 984 entries

Solutions by @sh3llcode:
18
#62 - c0llision / @sh3llcode

05/27/2018 at 01:07PM

19
#>118 - c0llision / @sh3llcode

05/27/2018 at 01:05PM

21
#>158 - c0llision / @sh3llcode

05/27/2018 at 01:04PM

22
#>185 - c0llision / @sh3llcode

05/27/2018 at 01:00PM

22
#>185 - c0llision / @sh3llcode

05/27/2018 at 01:01PM

22
#>185 - c0llision / @sh3llcode

05/27/2018 at 01:02PM

23
#>219 - c0llision / @sh3llcode

01/26/2018 at 01:22PM

25
#>234 - c0llision / @sh3llcode

01/26/2018 at 01:21PM

28
#>252 - c0llision / @sh3llcode

05/27/2018 at 12:59PM