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 5bbb82f969a25f0009541350

Applying same text modification in several lines

Remove identical text at the beginning of several lines and the closing parenthesis.

Start file
Assert.ThrowsAsync<Exception>(() => _auction.StartSellingItem());
Assert.ThrowsAsync<Exception>(() => _application.StartBiddingIn(_auction));
Assert.ThrowsAsync<Exception>(() => _auction.HasReceivedJoinRequestFromSniper());
Assert.ThrowsAsync<Exception>(() => _auction.AnnounceClosed());
Assert.ThrowsAsync<Exception>(() => _application.ShowsSniperHasLostAuction());
End file
_auction.StartSellingItem();
_application.StartBiddingIn(_auction);
_auction.HasReceivedJoinRequestFromSniper();
_auction.AnnounceClosed();
_application.ShowsSniperHasLostAuction();

View Diff

1,5c1,5
< Assert.ThrowsAsync<Exception>(() => _auction.StartSellingItem());
< Assert.ThrowsAsync<Exception>(() => _application.StartBiddingIn(_auction));
< Assert.ThrowsAsync<Exception>(() => _auction.HasReceivedJoinRequestFromSniper());
< Assert.ThrowsAsync<Exception>(() => _auction.AnnounceClosed());
< Assert.ThrowsAsync<Exception>(() => _application.ShowsSniperHasLostAuction());
\ No newline at end of file
---
> _auction.StartSellingItem();
> _application.StartBiddingIn(_auction);
> _auction.HasReceivedJoinRequestFromSniper();
> _auction.AnnounceClosed();
> _application.ShowsSniperHasLostAuction();
\ No newline at end of file

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 565 remaining solutions by signing in and submitting your own entry
#566 /home/ck / @_CarlKenny - Score: 70 - 11/12/18 @ 01:34
dF_<Esc>jkkdf_<Esc>j.j.j.j.<C-V>kkkkI_<Esc>jjkkdf_f)<Esc>lxjwwwblxjwwbllxjhxjwllx<Esc>;:;x<BS><BS>x<CR>

0 comments


Created by: @alvesmarcell

566 active golfers, 1989 entries

Leaderboard (lowest score wins):
16
#421 - Cardboard Cat / @CardboardCatMTG

10/24/2019 at 03:13AM

16
#422 - 0xNinja / @0x_Ninja

10/25/2019 at 08:24AM

16
#423 - Jason Chen / @chezbgone

10/27/2019 at 08:53PM

16
#424 - GrimmT / @GrimmT10

11/01/2019 at 06:31PM

16
#425 - Kevin Yokley / @kyokley19

11/03/2019 at 07:09PM

17
#426 - Yannick / @Malnoc

10/09/2018 at 01:51PM

17
#427 - alexche8 / @alexche_8

10/23/2018 at 11:55AM

17
#428 - ✖❎✖𝔩'𝔒𝔩𝔦𝔳𝔢✖❎✖ / @olivschwab

10/26/2018 at 01:33PM

17
#429 - bkdir / @Burak_Dir

10/26/2018 at 09:57PM

17
#430 - Tom Smeding / @TomSmeding

11/05/2018 at 10:17PM

17
#431 - Sören Schellhoff / @Jackokomm

11/17/2018 at 05:31PM

17
#432 - MEschenbacher / @eschenbacher_m

11/29/2018 at 01:45PM

17
#433 - Vending Machine / @storyn26383

12/16/2018 at 06:54AM

17
#434 - Eluded7 / @Eluded71

12/19/2018 at 05:41PM

17
#435 -  Martijn Engler / @MartijnEngler

12/31/2018 at 08:03PM

17
#436 - Brome / @Brome20887421

01/04/2019 at 06:38PM

17
#437 - wrglprmft / @wrglprmft

01/19/2019 at 08:44PM

17
#438 - tenteke / @kuskus3

01/21/2019 at 03:15PM

17
#439 - Chris AtLee / @chrisatlee

03/01/2019 at 09:59PM

17
#440 - Saphire Lattice / @SaphireLattice

03/06/2019 at 11:50AM

17
#441 - Pratik / @prathik_t

04/18/2019 at 08:32AM

17
#442 - Michaël Lévesque-Dion / @mlevesquedion

04/26/2019 at 01:14AM

17
#443 - Karim E.K / @crabdulkarim

05/08/2019 at 04:46PM

17
#444 - Ivan Ho / @ivandaho

05/22/2019 at 08:00AM

17
#445 - Gar Morley / @garmorley

05/25/2019 at 09:38PM

17
#446 - たぬぽん / @eJYwMbymauWKF4B

06/14/2019 at 06:51AM

17
#447 - Daniel Nadeau / @dnadeau13

06/23/2019 at 03:49AM

17
#448 - Crystal L / @Cartsly

07/13/2019 at 08:25PM

17
#449 - Mr_Djez / @DjezMr

08/05/2019 at 08:05PM

17
#450 - Bruno Machado / @brunosmmachado

10/20/2019 at 12:21PM