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

Unlock 10 remaining solutions by signing in and submitting your own entry
Created by: @alvesmarcell

865 active golfers, 2927 entries

Solutions by @averageRandomP1:
14
#408 - averageRandomPerson / @averageRandomP1

08/10/2019 at 10:30PM

15
#>535 - averageRandomPerson / @averageRandomP1

08/10/2019 at 10:29PM

15
#>538 - averageRandomPerson / @averageRandomP1

09/16/2019 at 10:38PM

17
#>657 - averageRandomPerson / @averageRandomP1

08/10/2019 at 10:24PM

19
#>718 - averageRandomPerson / @averageRandomP1

08/10/2019 at 10:18PM

22
#>753 - averageRandomPerson / @averageRandomP1

08/10/2019 at 10:16PM

24
#>776 - averageRandomPerson / @averageRandomP1

08/10/2019 at 09:30PM

26
#>790 - averageRandomPerson / @averageRandomP1

08/10/2019 at 09:28PM

40
#>823 - averageRandomPerson / @averageRandomP1

08/10/2019 at 09:25PM

43
#>831 - averageRandomPerson / @averageRandomP1

08/10/2019 at 09:22PM