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 518 remaining solutions by signing in and submitting your own entry
#519 /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

519 active golfers, 1792 entries

Leaderboard (lowest score wins):
13
#121 - Francois Urquhart / @LostUrquhart

05/14/2019 at 08:33PM

13
#122 - Daniel Hakimian / @danrafhak

05/15/2019 at 04:42AM

13
#123 - TheMagzuz / @DamMarkus

05/17/2019 at 04:18PM

13
#124 - David McDonald / @dmcdona

05/19/2019 at 12:52AM

13
#125 - Fiffy / @sr21486642

05/21/2019 at 07:47AM

13
#126 - Caleb Rollins / @CalebRollins1

05/22/2019 at 08:00PM

13
#127 - 田中太郎 / @hidecham55

05/24/2019 at 01:57AM

13
#128 - Seunghun Lee / @earlbread

05/27/2019 at 03:12PM

13
#129 - Дима / @dimkino

05/29/2019 at 09:48PM

13
#130 - Foo Bar / @foobar01123

05/31/2019 at 06:17AM

13
#131 - Jonáš Šerých / @serycjon

06/03/2019 at 04:43PM

13
#132 - a60068 / @a60068

06/06/2019 at 09:06AM

13
#133 - Jerry Wu / @AzureSpectra

06/06/2019 at 05:47PM

13
#134 - overlookedhashmap / @overlookedhash1

06/07/2019 at 05:24PM

13
#135 - Joo Ming / @JooMingJoo

06/07/2019 at 08:24PM

13
#136 - deurzen / @devrzen

06/08/2019 at 03:59PM

13
#137 - Fabien C. / @vaga_io

06/17/2019 at 12:59PM

13
#138 - David G0LD0 Forcier / @G0lD015

06/22/2019 at 07:23PM

13
#139 - Philip / @vCoRezZ

06/30/2019 at 06:54PM

13
#140 - Petru-Armand Bancila / @petruarmand

07/09/2019 at 06:30PM

13
#141 - Nathan Knox / @the_nathan_knox

07/10/2019 at 12:27PM

13
#142 - taka / @takaoutputblog

07/20/2019 at 03:30PM

13
#143 - Diego Navarro / @die_4001

07/24/2019 at 01:32AM

13
#144 - Adam Katz / @AdamKat01277576

08/01/2019 at 11:14AM

13
#145 - Ron Holt / @ron_holt

08/05/2019 at 08:00PM

13
#146 - りんご / @ringo9971

08/06/2019 at 08:47AM

13
#147 - sooqua / @sooqua

08/07/2019 at 05:31PM

13
#148 - XiaoXiaoLui / @XiaoXiaoLui1

08/15/2019 at 02:30PM

13
#149 - Adam Hartz / @awareofnow

08/18/2019 at 05:06AM

13
#150 - Martin Delille / @martinodelilo

08/20/2019 at 12:27PM